cant figure out qs in python
This commit is contained in:
parent
fb08343f8c
commit
1e8301139a
|
@ -0,0 +1,20 @@
|
|||
def partition(arr, lo, hi):
|
||||
pivot_value = arr[hi]
|
||||
current_index = lo - 1
|
||||
|
||||
for i in range(lo, hi):
|
||||
if arr[i] <= pivot_value:
|
||||
current_index += 1
|
||||
arr[current_index], arr[i] = arr[i], arr[current_index]
|
||||
current_index += 1
|
||||
arr[hi] = arr[current_index]
|
||||
arr[current_index] = pivot_value
|
||||
return current_index
|
||||
|
||||
def quicksort(arr, lo, hi):
|
||||
if lo < hi:
|
||||
part = partition(arr, lo, hi)
|
||||
partition(arr, lo, part - 1)
|
||||
partition(arr, part + 1, hi)
|
||||
|
||||
|
Loading…
Reference in New Issue