二叉树的拆构错在哪里啦?

calmman1980 2003-08-21 12:24:39
我的拆构函数
void BiTree::DelSubTree(BiTreeNode *p)
{
if( p == NULL )
return;
while( p )
{
DelSubTree( p->leftChild );
DelSubTree( p->rightChild );
delete p;
}
}
删除了第一个就不行了,提示内存错误.
我觉得C++的内存释放有点复杂,晕哦,那位能介绍点经验?谢谢
...全文
40 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
calmman1980 2003-08-21
  • 打赏
  • 举报
回复
今天种了一天的树,有点晕了,谢谢!
oopig 2003-08-21
  • 打赏
  • 举报
回复
改一改你的程序
void BiTree::DelSubTree(BiTreeNode *p)
{
if ( p )
{
DelSubTree( p->leftChild );
DelSubTree( p->rightChild );
delete p;
}
}
simclock 2003-08-21
  • 打赏
  • 举报
回复
既然是递归调用为什么还要while(p)阿?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧