import random
# 分区函数
def partition(lst, left, right):
tmp = lst[left]
while left<right:
while left<right and lst[right]>=tmp:
right -= 1
lst[left] = lst[right]
while left<right and lst[left]<=tmp:
left += 1
lst[right] = lst[left]
lst[left] = tmp
return left
# 快速排序
def quick_sort(lst, left, right):
if left < right:
mid = partition(lst, left, right)
quick_sort(lst, left, mid-1)
quick_sort(lst, mid+1, right)
lst = list(range(10))
random.shuffle(lst)
quick_sort(lst, 0, len(lst)-1)
print(lst)
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]