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

- 上一篇:python快速排序递归
- 下一篇:python获取csv文件中某一行