def quick_sort(list, start, end):
if start >=end:
return
mid = list[start] # 中值为列表第一个值
low = start # 第一个下标
high = end # 最后一个下标
while low < high: # 当两个下标还未重合
while low < high and list[high] >= mid: # 当下标未重合且从右向左没有找到比基准值小的数,则下标向左一步
high -= 1
list[low] = list[high]
while low < high and list[low] < mid: # 当下标未重合且左向右没有找到比基准更小的数,则下标向右一步
low += 1
list[high] = list[low]
list[low] = mid
quick_sort(list, start, low - 1)
quick_sort(list, low + 1, end)
return list
if __name__ == '__main__':
list = [4,3,3,33,3,3,4,4,4]
quick_sort(list,0,len(list)-1)
print(list)