CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  界面

删除树的同时如何释放内存

楼主qiubinz()2003-09-01 18:31:49 在 VC/MFC / 界面 提问

我删除一棵树的所有节点后,发现有些内存依然没有释放。树的所有节点都是InsertItem函数放进去的,删除使用了DeleteAllItems函数,请各位大侠告诉我原因和解决方法,谢谢,不胜感激 问题点数:0、回复次数:3Top

1 楼kuangjingbo(正在学习windows)回复于 2003-09-01 21:46:10 得分 0

删除所有的节点,其实就是一个遍历的过程。那么就看看你用哪种遍历了,如果用了先序遍历,那么根节点就会被首先删除,它的左、右子树就找不到了。  
  中序遍历,首先删除左子树,然后是根节点,那么他相应的右子树就会被保留。  
  只有后序遍历才可以。可以用递归。  
  伪代码如下:  
  void   DeleteAllItems(boot)  
  {  
          if(boot->leftchild!=NULL)     DeleteAllItems(boot->leftchild)   ;  
          if(boot->rightchild!=NULL)   DeleteAllItems(boot->rightchild);  
          free(boot);  
  }Top

2 楼atEleven(@十一)回复于 2003-09-01 22:08:49 得分 0

是不是每个节点中的数据有指向一段内存没有释放?  
  Top

3 楼flinming(flinming)回复于 2003-09-02 08:14:29 得分 0

upTop

相关问题

  • 链表删除后,删除的结点占用的内存如何释放?
  • 释放内存
  • 内存释放
  • 内存释放
  • 释放内存?
  • 自己构造的重叠IO结构,生成了以后删除它好象不能释放内存?
  • 内存未释放?
  • 郁闷问题: 动态删除一个js文件,是否在删除的时候内存中自动把该文件中的变量释放了呢?
  • 请问是不是把父元素删除,他的子元素也会被自动删除且释放内存了呢。比如ss.innerHTML="";
  • delphi中内存的释放

关键词

  • 节点
  • 内存
  • 遍历
  • 删除
  • 树
  • deleteallitems
  • 释放
  • boot
  • 所有

得分解答快速导航

  • 帖主:qiubinz

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo