while循環最后一句
這里為什么要將m_pNodeArray[nextNodeIndex].m_bIsVisited = true;啊?如果將傳入進來的頂點相連最小邊的另一個頂點標記為已訪問了,下一次循環的條件判斷進不去,豈不是沒法繼續遍歷了?這里應該是m_pNodeArray[temp].m_bIsVisited = true;吧?
這里為什么要將m_pNodeArray[nextNodeIndex].m_bIsVisited = true;啊?如果將傳入進來的頂點相連最小邊的另一個頂點標記為已訪問了,下一次循環的條件判斷進不去,豈不是沒法繼續遍歷了?這里應該是m_pNodeArray[temp].m_bIsVisited = true;吧?
2016-10-21
舉報
2016-10-21
標記的是“邊”,而不是“頂點”。
每一次選出最小邊,然后要把最小邊標記為已選擇,下一次就會選擇沒有選過的邊的最小邊。
其實這一句可以省略的,因為在getMinEdge中,已經把選擇出來的最小邊標記過了。