def one_division(data , start , end):
temp_value = data[start]
while start < end:
while data[end] >= temp_value and start < end:
end -= 1
if data[end] < temp_value:
data[start] = data[end]
start += 1
while data[start] <= temp_value and start < end:
start += 1
if data[start] > temp_value:
data[end] = data[start]
end -= 1
data[start] = temp_value
return start
def quick_sort(data , start , end):
if start < end:
mid = one_division(data , start , end)
quick_sort(data , start , mid - 1)
quick_sort(data , mid + 1 , end)
if __name__ == '__main__':
a = [1 , 2 , 54 , 6 , 7 , 8 , 8 , 2 , 3 , 5 , 7 , 45 , 234 , 2 , 6]
quick_sort(a , 0 , len(a) - 1)
print(a)
运行结果如下: