1 def quick_sort(array,left,right):
2 if left>=right:
3 return
4 low=left
5 high=right
6 key=array[low]#设置基准数
7 while left<right:
8 while left<right and array[right]>=key:#如果列表后边的数,比基准数大或相等,则前移一位直到有比基准数小的数出现
9 right-=1
10 array[left]=array[right]#如找到,则把第j个元素赋值给第个元素i,此时表中i,j个元素相等
11 while left<right and array[left]<=key:#同样的方式比较前半区
12 left+=1
13 array[right]=array[left]
14 array[right]=key#做完第一轮比较之后,列表被分成了两个半区,并且i=j,需要将这个数设置回base
15 print(array)
16 # 递归前后半区
17 quick_sort(array,low,left-1)
18 quick_sort(array,left+1,high)
19 return array
20 print(quick_sort([2,13,6,11,1,5,16,22,7],0,8))