為什么打印矩陣結(jié)果和老師的不一樣呢?
為什么打印矩陣結(jié)果和老師的不一樣呢?
打印函數(shù)是這個:
void?CMap::printMatrix() { for(int?i=0;i<m_iCapacity;i++) { for(int?k=0;k<m_iCapacity;k++) { cout<<m_pMatrix[i*m_iCapacity+k]<<"?"; } cout<<endl; } }
主函數(shù)是這個:
int?main(void) { CMap?*pMap=new?CMap(8); Node?*pNodeA=new?Node('A'); Node?*pNodeB=new?Node('B'); Node?*pNodeC=new?Node('C'); Node?*pNodeD=new?Node('D'); Node?*pNodeE=new?Node('E'); Node?*pNodeF=new?Node('F'); Node?*pNodeG=new?Node('G'); Node?*pNodeH=new?Node('H'); pMap->addNode(pNodeA); pMap->addNode(pNodeB); pMap->addNode(pNodeC); pMap->addNode(pNodeD); pMap->addNode(pNodeE); pMap->addNode(pNodeF); pMap->addNode(pNodeG); pMap->addNode(pNodeH); pMap->setValueToMatrixForUndirectedGraph(0,1); pMap->setValueToMatrixForUndirectedGraph(0,3); pMap->setValueToMatrixForUndirectedGraph(1,2); pMap->setValueToMatrixForUndirectedGraph(1,5); pMap->setValueToMatrixForUndirectedGraph(2,4); pMap->setValueToMatrixForUndirectedGraph(4,5); pMap->setValueToMatrixForUndirectedGraph(3,6); pMap->setValueToMatrixForUndirectedGraph(3,7); pMap->setValueToMatrixForUndirectedGraph(6,7); pMap->printMatrix(); cout<<endl; pMap->depthFirstTraverse(0); cout<<endl; pMap->resetNode(); pMap->breadthFirstTraverse(0); system("pause"); return?0; }
2018-01-12
你的是對的,老師的明顯有錯誤,c和f是之間是沒有通路的
2017-10-04
你得在BreadthFirstTraverseImpl函數(shù)里面添加括號
2017-03-01
老師的在代碼頁面(不是打印出來的)上面鄰接舉證有錯誤,有的多連了,有的卻沒有連。
應(yīng)該是這樣的
? A ?B ?C ?D ?E ?F ?G ?H
A ? ?1 ? ? 1
B 1 ? ? 1 ? ? ? ? ?1
C ? ?1 ? ? ? ? ?1
D 1 ? ? ? ? ? ? ? ? ? ? 1 ? 1
E ? ? ? ?1 ? ? ? ? ? 1
F ? ?1 ? ? ? ? ? 1
G ? ? ? ? ?1 ? ? ? ? ? ? ? ?1
H ? ? ? ? ?1 ? ? ? ? 1
3.我看了你的打印函數(shù)與主函數(shù)并沒有發(fā)現(xiàn)錯誤。我覺得錯誤在setValueToMatrixForUndirectedGraph函數(shù)內(nèi)了。