已采纳回答 / 慕运维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