快速排序
def quick_sort(alist,start,end):
if start>=end:
return
mid=alist[start]
low=start
high=end
while low<high:
while low<high and alist[high]>mid:
high-=1
alist[low]=alist[high]
while low<high and alist[low]<mid:
low+=1
alist[high]=alist[low]
alist[low]=mid
quick_sort(alist,start,low-1)
quick_sort(alist,low+1,end)
alist=[3,1,2,4,5,9,8,7,11,6]
print(quick_sort(alist,0,len(alist)-1))
print(alist)
快速排序
快速排序 主要把我基准元素 然后进行比较
用mid记录中间基准元素,从右边向左边寻找小于mid的值 赋值给low
~~~~~~~~~~~ 从左边向右边寻找大于mid的值 赋值给high
~~~~~~~~~~~ 使用mid给low赋值