Java 标准库中的优先级队列实现似乎是一个最小优先级队列,我发现它有点令人困惑。为了把它变成一个最大值,我创建了一个自定义比较器对象。
Comparator<Integer> cmp = new Comparator<Integer>()
{
public int compare( Integer x, Integer y )
{
return y - x;
}
};
我想知道是否有更优雅的解决方案。本质上,我不想使用通用优先级队列来实现 Dijkstras 等。我什至没有意识到会有反向操作的优先级队列:/