def quick_sort(arr):
if not arr or len(arr) == 1:
return arr
k, new_arr = partition(arr)
return quick_sort(new_arr[:k]) + [new_arr[k]] + quick_sort(new_arr[k + 1 :])
def partition(arr):
tmp = arr[-1]
i, j = 0, 0
while j < len(arr):
if arr[j] <= tmp:
arr[j], arr[i] = arr[i], arr[j]
i += 1
j += 1
return i - 1, arr
arr1 = []
arr2 = [2]
arr3 = [2, 1]
arr4 = [10, 9, 8, 11, 8, 1, 104, 7, 8, 3, 1]
for arr in [arr1, arr2, arr3, arr4]:
sorted_arr = quick_sort(arr)
print(sorted_arr)
转载请注明原文地址:https://ipadbbs.8miu.com/read-25025.html