Python中文社区大数据 爬虫Python AI Sql编程语言爱好者

Python 实现快速排序

2019-01-22  本文已影响2人  Python高效编程

今天来介绍一种排序算法——快速排序。
快速排序使用“分而治之”的方法。对于一串序列,首先从中选取一个数,凡是小于这个数的值就被放在左边一摞,凡是大于这个数的值就被放在右边一摞。然后,继续对左右两摞进行快速排序。直到进行快速排序的序列长度小于 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)
上一篇下一篇

猜你喜欢

热点阅读