99问答网
所有问题
为什么单链表中进行删除结点操作后一定要释放被删除结点的空间?
如题所述
举报该问题
推荐答案 2012-09-20
不释放的话造成内存泄露,简单地说,就算操作系统分配到你程序的那部分内存实际已经没用了,但你还没还给操作系统。久而久之,内存就被你这样占满了。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/eXjtjz7vt.html
其他回答
第1个回答 2012-09-20
是不释放 不是泄露问题 而是 申请的内存没释放
而指向他的指针也没了 就成了 无法访问的 地方 也没法访问(指向他的指针已经没了)
成了死区 这样多次运行的话 内存就越来越少了
最后就 出问题了 死机 内存崩溃什么的了
本回答被提问者和网友采纳
第2个回答 2012-09-20
有限的资源无限的利用,你既然删除了节点,就不要占着内存了!
第3个回答 2012-09-20
不释放的话造成内存泄露
相似回答
为什么单链表中进行删除结点操作后一定要释放被删除结点的空间?
答:
不释放的话造成内存泄露
,简单地说,就算操作系统分配到你程序的那部分内存实际已经没用了,但你还没还给操作系统。久而久之,内存就被你这样占满了。
C语言:
删除单链表的
话是用free()吗?头
结点释放
了就行了吗?谢谢啊
答:
当然要逐个free。因为每一个节点都是申请出来的,当用完了要释放。
不能只释放头节点,那样就是内存泄漏
。
单链表操作
之--
删除
带头
结点的单链表中
所有值为X的元素
答:
删除带有头
结点的单链表
所有值为X的元素,算法主要思想如下: 用结点指针 p 从第一个 元素结点 开始遍历链表,若结点值为X,则
进行删除操作
,并
释放被删结点空间
。 因为是单向链表,所以仅 p 指针无法直接找到值为X结点的前驱,需要用一个 pre 指针,始终指向p的前驱,即 pre->next =...
删除链表
一个
结点
没有
释放空间
会有
什么
后果?
答:
内存泄露,会导致可用内存减少
。曾经有过这种程序,测试好好的,拿到客户那里用也好好的。但就是每隔两星期就崩溃一次。改掉其中一个内存泄露就好了,开一年都没事。
有尾指针
的单链表删除
尾
结点
与链表长度有关吗?说明原因
答:
有关,删除一个节点执行的操作是将该节点丢掉,释放该
节点的空间
,并且将为指针向前移动一位,所以这个时候的点
链表的
长度就少了一截; 就相当于一条火车厢,一开始哟10个车厢,工作人员站在最后一个车厢,将工作人员看成指针,则通过工作人员这一指针可以遍历到整个10个车厢,然后要删掉最后一个车厢,...
单链表中为什么要删除
重复的
节点
答:
因为重复
的结点
会占用计算机的存储
空间
,删除了会释放存储空间,提升算法效率
...每题2分] 1、 在n个
结点的单链表中要删除
已知结点*p,需
答:
第一题的答案应该是:前驱,O(n)
链式有序表
的
合并中,
为什么要
把第二个表的头
结点释放
掉? 在链式有序表...
答:
没有用了,所以释放了。两根筷子,一头合起来,只有一上一下,所以去掉一个
单链表删除操作
答:
//
删除节点
,释放内存
空间
p->next = p->next->next;delete p->next;若链表为:
链表节点
| 1 | 2 | 3 |...对应指针 | p | p->next | p->next->next|...你想删除节点2(p->next),但你的做法是:p->next = p->next->next;(1的下一个由指向2改为指向3)...
大家正在搜
带头节点的单链表为空的判定条件
在单链表中,要将s所指结点
在单链表指针为p的节点
不带头节点的单链表
设指针变量p指向单链表中节点A
单链表的逆置
链表的特点
单链表的就地逆置
单链表的创建
相关问题
设单链表中指针p指向结点m,若要删除m之后的结点(若存在),...
在一个单链表中,删除*p结点之后的一个结点的操作是
单链表中为什么要删除重复的节点
在一个非空单链表中,若删除p所指结点的直接后继结点,则应执行...
在单链表上插入、删除一个结点,必须知道其_____结点。
在一个单链表中,若删除p所指结点的后续结点,则执行的语句系列...
单链表删除节点操作 为什么被删的节点中的数据要放在e里面?
设指针变量p指向单链表中的结点A,现在需要删去结点A,有哪些...