一尘不染

将Java PriorityQueue更改为最大PQ

java

Java标准库中的Priority Queue实现似乎是最小的Priority Queue,我感到有些困惑。为了将其变为最大,我创建了一个自定义比较器对象。

Comparator<Integer> cmp = new Comparator<Integer>()
{
    public int compare( Integer x, Integer y )
    {
        return y - x;
    }
};

我想知道是否有更优雅的解决方案。从本质上讲,我不会使用可用于实现Dijkstras等的通用优先级队列。我什至没有意识到会有反向操作的队列:/


阅读 231

收藏
2020-12-03

共1个答案

一尘不染

使用Java的Collections.reverseOrder()比较器。

Java参考

2020-12-03