首页 > 编程语言 > 详细

Python 快速排序

时间:2020-06-02 16:03:06      阅读:50      评论:0      收藏:0      [点我收藏+]
def quicksort(array):
    if len(array)<2:
        return array
    else:
        pivot = array[0]     # 基准点
        small = [i for i in array[1:] if i <= pivot] # 找到小于基准点的部分
        big = [i for i in array[1:] if i > pivot]     # 大于基准点的部分
        return quicksort(small) + [pivot] + quicksort(big) # 合并
print(quicksort([10,2,6,12,39,10]))

 对于一个待排序的列表,先选一个基准值,让列表中的元素和这个基准值对比,分成两部分:大于这个值的部分、小于这个值的部分,再分别对这两个部分进行找基准值的操作,最后将这个最小部分、基准值、最大部分合并。

Python 快速排序

原文:https://www.cnblogs.com/wztshine/p/13031437.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!