章节
问答
课签
笔记
评论
占位
占位
今日不再显示

下一节课程: 链表编码实战(三) (06:52) 下一节 重新观看

3 秒后播放下一节

为你推荐

james_yuan
学生

James Yuan,曾任职大学,讲授IT课程并主持完成多个商业项目,有着非常丰富的教学经验和项目经验,后进入信息安全领域和商用密码领域,并在该领域从业多年, 乐于知识分享。

提问题

写笔记

代码语言
公开笔记
提交
加群二维码

打开微信扫码自动绑定

您还未绑定服务号

绑定后可得到

  • · 粉丝专属优惠福利
  • · 大咖直播交流干货
  • · 课程更新,问题答复提醒
  • · 账号支付安全提醒

收藏课程后,能更快找到我哦~

使用 Ctrl+D 可将课程添加到书签

邀请您关注公众号
关注后,及时获悉本课程动态

举报

0/150
提交
取消
全部 精华 我要发布

最新回答 / 葫芦小叮当
好家伙自问自答

最赞回答 / 慕瓜5503596
clearlist是清空里面的内容,但是内存还保留,这就是和析构函数的区别。

最新回答 / 慕无忌7599432
释放内存就是表示这个地址是可以使用的了,跟这个地址的内容没有关系

最新回答 / Alex_ZM
除头结点以外的结点已经被删除了,此时剩下的头结点的指针域没有一个确定的指向,如果设成NULL的话,就像相当于回到单链表的最初始状态。

最新回答 / HackerLZH
不是头节点额,是头节点指向的节点(如果不存在,则mylist->next = NULL)

最新回答 / 半缕云烟
不是,他先判断链表中有没有这个序号的元素,有就这个元素的值就把他取出来,没有就return -1;目的是找到你要的这个序号元素的值。bool List::GetElem(int i,Node *pNode){     if(i<0||i>=m_iLength)    {        return false;    }    Node*currentNode=m_pList;    Node*currentNodebefore=NULL;    for(int k =0;k<=i;k+...

最赞回答 / ___TINGWEN
清空一个链表应该是把它的每个结点所占的内存全部进行清空,所以要从前往后遍历,每遍历一个结点,就把遍历过的结点进行删除,但是呢,在删除当前结点之前,要将当前结点的下一个结点保存起来,不然删除之后就找不到下一个结点来进行清空了,所以要使用temp来保存当前结点的下一个结点Node *temp=currentNode->next(currentNode结点的指针域指向的就是下一个结点,就是currentNode->next就是下一个结点),保存之后呢,再把当前结点删除掉也就是delete curre...

最新回答 / 幕布斯9075980
我注释掉了,循环之后已经为NULL

已采纳回答 / seupc
currentNode一开始就指向的是头结点的下一个结点(m_pList->next),所以第一次删除就是头结点的下一个结点,指向头结点的m_pList内存并没有被删除。

已采纳回答 / 胖子码农
指针代表着指向一块内存,del current_node,代表释放current__node指向的那块内存。但current_node还是可以通过赋值,去指向其他内存的

最赞回答 / 慕姐3581915
http://blog.csdn.net/johnny710vip/article/details/7281131 应该是里面第一个顺序定义struct一个意思吧,i用来实例化data,nullptr用来实例化指针

已采纳回答 / 唱跳rap篮球_
因为temp只是定义的一个node类型的临时变量用来存储某个node的值,和链表内的元素没有任何关系。所以在函数执行结束后,会自动被系统回收内存

已采纳回答 / 十二楼中月自明
其实已经删除了尾节点,currentNode->next != NULL 是没有删除尾节点的,而currentNode != NULL表示这个节点为空,即已经删除了
全部 我要发布
最热 最新
只看我的

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

账号登录 验证码登录

遇到问题
忘记密码

代码语言