while循環(huán)最后一句
這里為什么要將m_pNodeArray[nextNodeIndex].m_bIsVisited = true;啊?如果將傳入進(jìn)來的頂點(diǎn)相連最小邊的另一個(gè)頂點(diǎn)標(biāo)記為已訪問了,下一次循環(huán)的條件判斷進(jìn)不去,豈不是沒法繼續(xù)遍歷了?這里應(yīng)該是m_pNodeArray[temp].m_bIsVisited = true;吧?
這里為什么要將m_pNodeArray[nextNodeIndex].m_bIsVisited = true;啊?如果將傳入進(jìn)來的頂點(diǎn)相連最小邊的另一個(gè)頂點(diǎn)標(biāo)記為已訪問了,下一次循環(huán)的條件判斷進(jìn)不去,豈不是沒法繼續(xù)遍歷了?這里應(yīng)該是m_pNodeArray[temp].m_bIsVisited = true;吧?
2016-10-21
舉報(bào)
2016-10-21
標(biāo)記的是“邊”,而不是“頂點(diǎn)”。
每一次選出最小邊,然后要把最小邊標(biāo)記為已選擇,下一次就會(huì)選擇沒有選過的邊的最小邊。
其實(shí)這一句可以省略的,因?yàn)樵趃etMinEdge中,已經(jīng)把選擇出來的最小邊標(biāo)記過了。