为什么java优先级队列排序结果错误?

阅读 43

2022-04-16

PriorityQueue是二叉小顶堆, 并不是完全有序的. 只能保证第一个元素是最小的而已.

如果你想遍历得到有序结果应该调用poll方法, 其原理可以参考堆排序.

另外如果只是想排序并不用那么复杂, 构建普通的数组, 然后array.sort就好了, java内部会帮你调用timsort.

精彩评论(0)

0 0 举报