为了账号安全,请及时绑定邮箱和手机立即绑定

已采纳回答 / 慕运维8757289
delete tree是没错的,应该你的代可能有问题吧,至于为什么new 了Node不用delete,是因为delete tree时,会执行~Tree()析构函数,里面已经清除Node创建的所有节点了,再delete node会出错的。。。。。
反正不管怎样,最终还是要自杀对吧#_#

最赞回答 / 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->...
把语速调到1.25,感觉更容易理解
递归大法好
感觉判断左右孩子的index再进行递归有点多余了,直接用左右孩子作为对象再次调用search函数就好了嘛

最赞回答 / 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 ...
代码相当冗余。。。
节点和结点有区别吗?
非常好,感谢分享
之前add节点也不太严谨啊 没有考虑该节点有孩子的情况
一直跟着james老师学,是老师的老粉丝了~
冒个泡!!!!
图论里面讲的很详细
课程须知
应该熟练掌握C++相关语法,重点掌握数组、结构体及递归函数,需要熟悉线性表和链表相关内容
老师告诉你能学到什么?
通过课程的学习,你将掌握树的相关概念,数组二叉树,链表二叉树及二叉树递归实现的前序遍历、中序遍历和后序遍历

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消