def quick_sort(List, left, right):
if left >= right: # 如果只有一个数字时,结束递归
return
flag = left
# 默认以第一个数字作为基准数,从第二个数开始比较,生成索引时要注意右部的值
for i in range(left + 1, right + 1):
if List[i] < List[flag]:
tmp = List[i]
del List[i]
List.insert(flag, tmp)
flag += 1
quick_sort(List, left, flag - 1) # 将基准数前后部分分别递归排序
quick_sort(List, flag + 1, right)
List = [1, -2, 4, 7, 6, 3, 2, 3]
quick_sort(List, 0, 7)
print(List)