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値に従って降順ではない順序でノードを格納したい。functionf(Node node)は、ノードのf値を計算することです。コンパレータをオーバーライドしますが、現在、f値が大きいノードがキュー内のf値が小さいノードの前に配置されていることがわかりました。全体をチェックしましたが、何が問題なのかを見つけることができません。おそらく、PQ宣言の問題。誰でも私を助けることができますか?前もって感謝します!