快速排序

2020-05-28  本文已影响0人  卅清

快速排序,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)

上一篇 下一篇

猜你喜欢

热点阅读