快速排序,quick sort 划分交换排序
通过一趟排序将要排序的数据分割成独立的两部分,其中一部书的
所有数据都比另外一部分的所有数据都要小,然后再按照此方法对
这两部分数据分别进行快排,递归进行"""
def quick_sort(li,start,end):
if start >= end:
return
mid = li[start]
low = start
high = end
while low < high:
# 如果low与high未重合,high指向的元素不比基准元素小,则high向左移动
while low < highand li[high] >=mid:
high -=1
li[low] = li[high]
while low < highand li[low] < mid:
low +=1
li[high] = li[low]
li[low] = mid
quick_sort(li,start,low-1)
quick_sort(li,low+1,end)
alist = [54,26,93,17,77,31,44,55,20]
quick_sort(alist,0,len(alist)-1)
print(alist)
网友评论