Python指定自定义HeapSort排序算法

时间:2018-09-27 00:25:19

标签: python heap

我有一个包含两个元素[A,B]的列表列表。首先,我希望根据A来定义堆,但是在A = A的情况下,我想按降序比较B。但是可以理解的是,当我希望按降序排列时,heapsort还可以按升序比较B,所以得不到这样的结果

[7, 1]
[7, 0]
[6, 1]
[5, 2]
[5, 0]
[4, 4]

当我想要

[7, 0]
[7, 1]
[6, 1]
[5, 0]
[5, 2]
[4, 4]

我该怎么做?

作为参考,我正在使用heapq._heapify_max

官方的python解决方案建议将所有内容都转换为元组,其中第一个元素是我想要排序优先级的元素,但是由于我希望通过两个键的组合来完成排序,所以这将无效

0 个答案:

没有答案