Skip to content

Commit 655985d

Browse files
authored
Quick Sort Algorithm
Quick Sort Algorithm
1 parent d2ff15e commit 655985d

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

QuickSort.py

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Python program for implementation of Quicksort Sort
2+
3+
# This function takes last element as pivot, places
4+
# the pivot element at its correct position in sorted
5+
# array, and places all smaller (smaller than pivot)
6+
# to left of pivot and all greater elements to right
7+
# of pivot
8+
def partition(arr,low,high):
9+
i = ( low-1 ) # index of smaller element
10+
pivot = arr[high] # pivot
11+
12+
for j in range(low , high):
13+
14+
# If current element is smaller than or
15+
# equal to pivot
16+
if arr[j] <= pivot:
17+
18+
# increment index of smaller element
19+
i = i+1
20+
arr[i],arr[j] = arr[j],arr[i]
21+
22+
arr[i+1],arr[high] = arr[high],arr[i+1]
23+
return ( i+1 )
24+
25+
# The main function that implements QuickSort
26+
# arr[] --> Array to be sorted,
27+
# low --> Starting index,
28+
# high --> Ending index
29+
30+
# Function to do Quick sort
31+
def quickSort(arr,low,high):
32+
if low < high:
33+
34+
# pi is partitioning index, arr[p] is now
35+
# at right place
36+
pi = partition(arr,low,high)
37+
38+
# Separately sort elements before
39+
# partition and after partition
40+
quickSort(arr, low, pi-1)
41+
quickSort(arr, pi+1, high)
42+
43+
# Driver code to test above
44+
arr = [10, 7, 8, 9, 1, 5]
45+
n = len(arr)
46+
quickSort(arr,0,n-1)
47+
print ("Sorted array is:")
48+
for i in range(n):
49+
print ("%d" %arr[i]),
50+
51+
# This code is contributed by Abdul Aziz

0 commit comments

Comments
 (0)