已采納回答 / 慕運維8757289
delete tree是沒錯的,應該你的代可能有問題吧,至于為什么new 了Node不用delete,是因為delete tree時,會執行~Tree()析構函數,里面已經清除Node創建的所有節點了,再delete node會出錯的。。。。。
2016-09-01
最贊回答 / 123妮
//添加結點bool Tree::AddNode(int nodeIndex,int direction,Node *pNode){ Node *temp=SearchNode(nodeIndex); if(temp==NULL) { return false; } Node *node=new Node(); if(node==NULL) {//申請內存失敗 return false; } node->index=pNode->index; node->data=pNode->...
2016-08-31
最贊回答 / qq_楓_142
在Tree類中定義一個void DiGui(int nodeIndex);方法來遞歸刪除左右節點:void Tree::DiGui(int nodeIndex){?int currentNodeIndex = nodeIndex;?if(nodeIndex * 2 + 1 < m_iSize)?{??nodeIndex = nodeIndex * 2 + 1;??m_pTree[nodeIndex] = 0;??DiGui(nodeIndex);?}?if(currentNodeIndex * 2 ...
2016-08-22