Skip to content

Commit 58a1fb0

Browse files
committed
quicksort: completed
1 parent 820b18b commit 58a1fb0

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

quicksort.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
1-
#arr = [8, 2, 4, 7, 1, 3, 9, 6, 5]
2-
arr = [64, 34, 25, 12, 22, 11, 90, 110]
3-
# def median_of_3(arr):
4-
1+
arr = [8, 2, 4, 7, 1, 3, 9, 6, 5]
2+
#arr = [64, 34, 25, 12, 22, 11, 90, 110]
3+
4+
recursion_depth = 0
55

66
def quicksort(arr, start, end):
77
"""
88
just by last element
99
"""
10+
if start >= end:
11+
return arr
1012
pivot = arr[end]
1113
n = end
1214
i = start - 1
1315
swap = 0
1416

15-
print(10*"=", " Quicksort ", 10*"=")
17+
global recursion_depth
18+
recursion_depth += 1
19+
print(10*"=", f" Quicksort: {recursion_depth} ", 10*"=")
1620
print(f"{start=}, {end=}")
1721
print(arr)
18-
print("pivot is:", pivot)
19-
20-
if start >= end:
21-
return arr
22+
print("pivot is:", pivot)
2223

2324
for j in range(start, end):
2425
if arr[j] < pivot:
@@ -29,10 +30,11 @@ def quicksort(arr, start, end):
2930
arr[i] = swap
3031
arr[end] = arr[i+1]
3132
arr[i+1] = pivot
32-
print("front")
33-
arr = quicksort(arr, start, i)
34-
print("rear")
35-
arr = quicksort(arr, i+2, len(arr)-1)
33+
34+
quicksort(arr, start, i)
35+
quicksort(arr, i+2, end)
3636
return arr
3737

3838
arr = quicksort(arr, 0, len(arr)-1)
39+
40+
print(f"\nFinal {arr}")

0 commit comments

Comments
 (0)