我正在處理一個旅行推銷員問題,而我的p隊列沒有運行,只是簡單地添加了最後一個項目。我想知道是否有人能幫我弄清楚錯誤。這裏是我的節點類(節點被添加到隊列):需要Java優先隊列幫助
import java.util.*;
public class Node implements Comparable<Node>{
//level of node
int level;
//stores path of node
ArrayList<Integer> path = new ArrayList<Integer>();
//bound of node
int bound;
/** Over-rides compareTo for priority queue handling
* @return int desired sorting value
*/
public int compareTo(Node aNode)
{
if (this.bound<aNode.bound)
{
return 1;
}
if (this.bound>aNode.bound)
{
return -1;
}
else
{
return 0;
}
}
}
,這裏是p型隊列實現:
PriorityQueue<Node> theQ = new PriorityQueue<Node>();
的算法是正確實施對隊列根本不把最低限度作爲頭。我甚至將compareTo的回報調整爲對p-隊列輸出沒有任何影響(這意味着隊列沒有排序,我浪費了數小時的時間試圖找出它,並且還要求一些同學(沒有人能夠辨別出問題)採取了在這裏拍攝,看是否有人知道爲什麼排隊充當這樣的..
定義 「P-隊列輸出」 ......你的意思,如果你通過迭代該隊列不符合您的期望?你如何進入隊列? – 2011-05-16 04:40:29
是我投票的q和它輸出的最後一個項目添加,其不排序... – idkWATimDOIN 2011-05-16 04:41:37
它會很有幫助,如果你發佈的代碼,你在訪問隊列 – 2011-05-16 04:50:39