快速排序

时间:2019-10-08 23:13:27   收藏:0   阅读:81

技术分享图片

def quick_sort(data):
    if len(data) >= 2:
        mid = data[0]    # 选取第一个值为基准值
        left, right =[], []   # 定义基准值左右两侧的列表
        data.remove(mid)   # 原始数据中删除基准值
        for num in data:
            if num >= mid:   # 大于基准值的放右边
                right.append(num)
            else:
                left.append(num)   # 小于基准值的放左边
        return quick_sort(left) + [mid] + quick_sort(right)
    else:
        return data
array = [2,3,5,7,1,4,6,15,5,2,7,9,10,15,9,17,12]
print(quick_sort(array))

 

原文:https://www.cnblogs.com/WJZheng/p/11638280.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!