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
66def 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
3838arr = quicksort (arr , 0 , len (arr )- 1 )
39+
40+ print (f"\n Final { arr } " )
0 commit comments