快排

作者: 无敌的肉包 | 来源:发表于2018-04-08 23:25 被阅读0次

    基本思想:

    1. 先从数列中取出一个数作为基准数。
    2. 分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。
    3. 再对左右区间重复第二步,直到各区间只有一个数。


      快排

    Python实现:

    #coding:utf-8
    def quicksort(list):
        if len(list)<2:
            return list
        else:
            midpivot = list[0]
            lessbeforemidpivot = [i for i in list[1:] if i<=midpivot]
            biggerafterpivot = [i for i in list[1:] if i > midpivot]
            finallylist = quicksort(lessbeforemidpivot)+[midpivot]+quicksort(biggerafterpivot)
            return finallylist
    
    print quicksort([2,4,6,7,1,2,5])
    

    相关文章

      网友评论

        本文标题:快排

        本文链接:https://www.haomeiwen.com/subject/cmtwcftx.html