為什么打印矩陣結果和老師的不一樣呢?
為什么打印矩陣結果和老師的不一樣呢?

打印函數是這個:
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;
}
}主函數是這個:
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函數里面添加括號
2017-03-01
老師的在代碼頁面(不是打印出來的)上面鄰接舉證有錯誤,有的多連了,有的卻沒有連。
應該是這樣的
? 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.我看了你的打印函數與主函數并沒有發現錯誤。我覺得錯誤在setValueToMatrixForUndirectedGraph函數內了。