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;
}
});
Run Code Online (Sandbox Code Playgroud)
我声明了一个PQ来存储一些节点,我想根据f值以非递减顺序存储节点.函数f(节点节点)是计算节点的f值.所以我覆盖了比较器,但是现在我发现一些f值较大的节点放在队列中f值较小的节点之前,我检查了一遍,但仍然找不到出错的地方,我想也许是PQ声明的问题.有人可以帮帮我吗?提前致谢!
| 归档时间: |
|
| 查看次数: |
283 次 |
| 最近记录: |