已采納回答 / 晴天cloude
廣度優先遍歷是一層一層的遍歷,同層節點之間的輸出順序與矩陣的排列有關,也就是和一開始節點的輸入順序有關,但是同層節點的輸出順序并不是廣度優先搜索的重點。當然要是非按照固定的一種順序,在輸入節點的代碼上寫個排序就行了。
2018-08-12
已采納回答 / 幕布斯9075980
void CMap::kruskalTree(){ int value = 0; int edgeCount = 0; vector<vector<int>> nodeSets; //之前一直顯示vector subscript out of range,這是因為后面出現對vector直接取vec[]的語句,這是不對的 //因為vector沒有分配空間,我在這里分配空間后就可以了。 nodeSets.resize(m_iCapacity*m_iCapacity); vector&l...
2018-04-26
已采納回答 / SiO
從報錯信息上看是容器下標越界的意思就是說你容器的區間傳入了錯誤的值或大或小。隨后檢查了代碼在75行處nodeSets[nodeBInSetLabel].push_back(nodeBIndex);下標處應該是nodeAInSetLabel 修改看看可否解決問題。
2017-06-06
已采納回答 / 慕娘9255957
應該是要有的,因為聲明的節點是存放在開辟出的有固定容量的數組中,所以在添加節點時是需要判斷節點數組是否已滿。而實際實現,可以將m_iNodeCount與m_iCapacity進行比較,如果相等就return false。
2017-04-12
已采納回答 / Kasumi_chan
while(edgeCount<m_iCapacity-1)//邊數小于m_iCapacity-1則一直要循環?????{????????int?temp=?nodeVec.back();//取出nodeIndex,back()函數是取當前數組中尾部的元素????????for(int?i=0;i<=m_iCapacity;i++)這里for循環中是i < m_iCapacity,多了個=號
2017-03-04