8000 Improved quick_sort implementation · CO18326/python@a55e8d6 · GitHub
[go: up one dir, main page]

Skip to content

Commit a55e8d6

Browse files
committed
Improved quick_sort implementation
1 parent 681901d commit a55e8d6

File tree

1 file changed

+13
-26
lines changed

1 file changed

+13
-26
lines changed

sorting/quick_sort.py

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,14 @@
1-
#quick sort implementation in Python by Neville Antony
1+
"""
2+
Here is the implementation of quicksort algorithm in python by Pramod Bharti
3+
quick_sort() function takes an unsorted array and prints sorted array
4+
"""
5+
def quick_sort(arr):
6+
if len(arr) <= 1:
7+
return arr
8+
pivot = arr[len(arr) // 2]
9+
left = [x for x in arr if x < pivot]
10+
middle = [x for x in arr if x == pivot]
11+
right = [x for x in arr if x > pivot]
12+
return quick_sort(left) + middle + quick_sort(right)
213

3-
def partition(arr, down, up):
4-
i = ( down - 1 )
5-
pivot = arr[up]
6-
7-
for j in range(down, up):
8-
if arr[j] <= pivot:
9-
i = i+1
10-
arr[i],arr[j] = arr[j],arr[i]
11-
12-
arr[i+1],arr[up] = arr[up],arr[i+1]
13-
return ( i+1 )
14-
15-
def quickSort(arr, down, up):
16-
if down< up:
17-
pi = partition(arr, down, up)
18-
quickSort(arr, down, pi-1)
19-
quickSort(arr, pi+1, up)
20-
21-
arr = [91, 72, 68, 23, 37, 55]
22-
n = len(arr)
23-
quickSort(arr,0,n-1)
24-
print("The sorted array is :")
25-
for i in range(n):
26-
print ("%d" %arr[i]),
27-
14+
print (quick_sort([5,2,8,3,9,12,43])) # This will print [2,3,5,8,9,12,43]

0 commit comments

Comments
 (0)
0