美文网首页
用python再论快排

用python再论快排

作者: 舒小贱 | 来源:发表于2017-12-19 17:36 被阅读0次

    今天看到用python实现的快排,虽然消耗了额外空间,但是真的很清新脱俗啊。。。

    # -*- coding: UTF-8 -*-
    
    def quicksort(array):
        if(len(array) <= 1):
            return array
        lower = []
        upper = []
        base = array.pop()
        for i in array:
            if i > base:
                upper.append(i)
            else:
                lower.append(i)
        return quicksort(lower) + [base] + quicksort(upper)
    
    
    print(quicksort([5,2,7,9,12,3,7]))
    

    运行结果:

    E:\python_study>python 91.py
    [2, 3, 5, 7, 7, 9, 12]
    

    比base大的就丢到大的数组中,比base小的就丢到小的数组中。跟常规的交换位置实现的快排相比较,虽然消耗了额外的空间复杂度,但是思路清晰简单太多了。

    相关文章

      网友评论

          本文标题:用python再论快排

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