社区
界面
帖子详情
删除树的同时如何释放内存
qiubinz
2003-09-01 06:31:49
我删除一棵树的所有节点后,发现有些内存依然没有释放。树的所有节点都是InsertItem函数放进去的,删除使用了DeleteAllItems函数,请各位大侠告诉我原因和解决方法,谢谢,不胜感激
...全文
20
3
打赏
收藏
删除树的同时如何释放内存
我删除一棵树的所有节点后,发现有些内存依然没有释放。树的所有节点都是InsertItem函数放进去的,删除使用了DeleteAllItems函数,请各位大侠告诉我原因和解决方法,谢谢,不胜感激
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
flinming
2003-09-02
打赏
举报
回复
up
atEleven
2003-09-01
打赏
举报
回复
是不是每个节点中的数据有指向一段内存没有释放?
kuangjingbo
2003-09-01
打赏
举报
回复
删除所有的节点,其实就是一个遍历的过程。那么就看看你用哪种遍历了,如果用了先序遍历,那么根节点就会被首先删除,它的左、右子树就找不到了。
中序遍历,首先删除左子树,然后是根节点,那么他相应的右子树就会被保留。
只有后序遍历才可以。可以用递归。
伪代码如下:
void DeleteAllItems(boot)
{
if(boot->leftchild!=NULL) DeleteAllItems(boot->leftchild) ;
if(boot->rightchild!=NULL) DeleteAllItems(boot->rightchild);
free(boot);
}
C语言数据结构与算法编程、链表、
树
、栈、队列、排序算法
黄老师通过对数据结构核心知识点: 顺序表、链表、栈、队列、
树
、二叉
树
、遍历、插入、
删除
、排序、查找算法 的细心讲解,结合生动的C语言实战代码演练、帮助学员快速掌握数据结构的核心内容、为STL、Boost标准库的...
二叉
树
申请的
内存
释放
二叉
树
申请的
内存
释放
释放
内存
的三种方法
dentry是一个纯粹的
内存
结构,由文件系统在提供文件访问的过程中在
内存
中直接建立,dentry,即directory entry,目录项,就是多个文件或者目录的链接,通过这个链接可以找寻到目录之下的文件或者是目录项。...
Qt基础篇:Qt的
内存
释放
策略(
内存
自动
释放
机制)
关于Qt
内存
释放
机制的简单讲解 很多C/C++初学者常犯的一个错误就是,使用malloc、new分配了一块
内存
却忘记
释放
,导致
内存
泄漏。Qt的对象模型提供了一种Qt对象之间的父 子关系,当很多个对象都按一定次序建立...
Qt的
内存
释放
策略(
内存
自动
释放
机制)
很多C/C++初学者常犯的一个错误就是,使用malloc、new分配了一块
内存
却忘记
释放
,导致
内存
泄漏。Qt的对象模型提供了一种Qt对象之间的父 子关系,当很多个对象都按一定次序建立起来这种父子关系的时候,就组织成了一...
界面
15,980
社区成员
115,900
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章