原理:
使用递归的方法依次将数归位(即:根据该数的大小将其放到最终排序后该放的位置)。
#列表快速排序
def kuaisu(l,left,right):##第一个数归位
mid =l[left]
while left<right:##直到left=right时,退出循环
while left<right and l[right]>=mid:#右边归位
right -=1
l[left]=l[right]
while left<right and l[left]<=mid:##左边归位
left +=1
l[right]=l[left]
l[left]=mid
return left
##print(l)
def digui(l,left,right):##递归归位,依次将列表折半,分别进行归位
if left<right:
mid = kuaisu(l,left,right)
digui(l,left,mid-1)
digui(l,mid+1,right)
print(l)
n=int(input())##输入列表长度
l=list(map(int,input().split()))##输入所需排序的列表
digui(l,0,n-1)