fringe = new PriorityQueue<Node>(10,new Comparator<Node>(){
@Override
public int compare(Node node1,Node node2)
{
if (f(node1)>f(node2))
return 1;
else
return -1;
}
});
我声明了一个 PQ 来存储一些节点,我想根据 f 值以非递减顺序存储节点。函数 f(Node node) 是计算节点的 f 值。所以我覆盖了比较器,但现在我发现一些具有较大 f 值的节点被放置在队列中具有较小 f 值的节点之前,我检查了所有但仍然找不到问题所在,我假设它可能是 PQ 声明的问题。任何人都可以帮助我吗?提前致谢!