Python 实现快速排序

作者: Python高效编程 | 来源:发表于2019-01-22 22:17 被阅读2次

    今天来介绍一种排序算法——快速排序。
    快速排序使用“分而治之”的方法。对于一串序列,首先从中选取一个数,凡是小于这个数的值就被放在左边一摞,凡是大于这个数的值就被放在右边一摞。然后,继续对左右两摞进行快速排序。直到进行快速排序的序列长度小于 2 (即序列中只有一个值或者空值)。

    # quicksort
    def quicksort(seq):
        if len(seq) < 2:
            return seq
        else:
            base = seq[0]
            left = [elem for elem in seq[1:] if elem < base]
            right = [elem for elem in seq[1:] if elem > base]
            return quicksort(left) + [base] + quicksort(right)
    

    相关文章

      网友评论

        本文标题:Python 实现快速排序

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