排序算法之快排

快排思想:
通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

def quicksort(v,begin,end):
    if(end<begin): return
    point = partition(v,begin,end)
    quicksort(v,begin,point-1)
    quicksort(v,point+1,end)
    return v
def partition(a,begin,end):
    point = end
    count = begin
    for i in range(begin,end):
        if(a[i]<a[point]):
            temp = a[count]
            a[count] = a[i]
            a[i] = temp
            count+=1
    temp = a[count]
    a[count]= a[point]
    a[point] = temp
    return count

list1 = [1,2,5,7,9,2]
list2 = quicksort(list1,0,len(list1)-1)
print(list2)

发布了16 篇原创文章 · 获赞 1 · 访问量 2834

猜你喜欢

转载自blog.csdn.net/weixin_43436824/article/details/105447632