我正在嘗試使用相鄰列表調試bfs算法。它會正確打印到某個點然後進入無限循環。我做了一些打印輸出,並注意到它最終遍歷了圖的前兩個節點。我不知道在我的代碼導致這個問題。這是我得到的分配,這是我最後的手段。如果任何人都能指出我的正確方向,那麼問題可能會有多大幫助。使用相鄰列表實現的bfs調試
void bfsList(linkedList adjList[], int visit[], int j){
Queue queue(24);
if (visit[j] == 0){
cout << j+1 << endl;
visit[j] = 1;
queue.enqueue(j);
while(!queue.isEmpty()){
int k = queue.dequeue();
//queue.print();
for(int i=0;i<adjList[k].len();i++){
if (visit[adjList[k].elementAt(i)-1]==0){
cout << adjList[k].elementAt(i) << endl;
visit[adjList[k].elementAt(i)-1] = 1;
}
if (!queue.isFull()){
queue.enqueue(adjList[k].elementAt(i)-1);
}
}
}
}
}
我也檢查了鄰接表。列表沒有什麼問題,因爲它與我用於執行深度優先搜索的方法相同。該圖從csv文件加載。 – user2079902