当前位置:首页python > 正文

Python快速排序从大到小排序

作者:野牛程序员:2023-07-24 07:39:43python阅读 2816

要实现快速排序从大到小排序的 Python 代码,可以在快速排序算法中将比较运算符的方向调整一下即可。以下是将列表从大到小排序的快速排序实现:

def quicksort_descending(arr):
    if len(arr) <= 1:
        return arr

    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x > pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x < pivot]

    return quicksort_descending(left) + middle + quicksort_descending(right)

# 示例用法
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = quicksort_descending(my_list)
print(sorted_list)

这段代码会输出:

[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

这样,就得到了一个从大到小排列的列表。请注意,快速排序的时间复杂度为平均 O(n log n),最坏情况下为 O(n^2)。如果对大规模数据进行排序,建议使用 Python 的内置排序函数 sorted(),它在大多数情况下会比自己实现的快速排序更高效。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击