python 快速排序算法

旧城冷巷雨未停 提交于 2020-02-04 11:32:34
def quicksort(nums):
    if len(nums) <= 1:
        return nums
    # 左子数组
    less = []
    # 右子数组
    greater = []
    # 基准数
    base = nums.pop()
    print('sssssssss')
    print(base)
    # 对原数组进行划分
    for x in nums:
        if x < base:
            less.append(x)
        else:
            greater.append(x)
    # 递归调用
    return quicksort(less) + [base] + quicksort(greater)
def main():
    nums = [6,1,2,7,9,3,4,5,10,8]
    print(quicksort(nums))
main()

输出:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!