为了账号安全,请及时绑定邮箱和手机立即绑定

已采纳回答 / 寒山问道
不需要,当调用m_iLength时它会自动计算线性表中节点的个数

已采纳回答 / Squirre_lMan
你好,我的理解是:clearList只是将节点删除,但是这个链表空间还在,而第一个节点储存了链表空间的地址。所以,要使用ListEmpty才可以完全删除。(根据数组推断的,仅供参考)

已采纳回答 / 黑巫师0
老师讲的单链表是有表头结点的,表头结点并不存储数据,只是一个牵头作用,方便我们通过它来寻找到链表的其他所有元素。因此单链表的元素个数也不把它包括在内,第0个结点就是表头结点的下一个结点。希望对你有所帮助~

已采纳回答 / qq_胡布归_0
构造函数和析构函数的名字应该与类名相同,所以你的类是List1,那对应的构造函数和析构函数名字应该是List1()和~List1()

已采纳回答 / 慕姐5052964
头结点前不能插入,因为它data为空,没有意义吧。头结点后面的第一个数据算0号数据,listinserthead函数是插在头结点后面的,遍历出来结果显示它的数据在第一个位置上。头结点data为空,但是指针不为null,它前面不能插入数据。最后一个结点data不为空,指针为null,它的前后都可以插入数据。get函数中不算头结点,i最小为0,这就是头结点后面的第一个数据,即0号数据,头结点data为空,或者说没有意义,所以不能get 出来。

已采纳回答 / 十二楼中月自明
其实已经删除了尾节点,currentNode->next != NULL 是没有删除尾节点的,而currentNode != NULL表示这个节点为空,即已经删除了

已采纳回答 / MrJean
Lish.h 头文件里面放声明 ,具体的定义放在 List.cpp 里面。 List.cpp包含 List.h头文件

已采纳回答 / 奋进的努力的蜗牛
当前指针指向下一个节点,要记录当前指针,一边插入、删除操作,

已采纳回答 / 黑巫师0
头结点只是一个牵头的作用,可以通过头结点来顺藤摸瓜找到链表中的所有元素,但本身并没存储有意义数据,所以作为前驱也就没有什么意义,因此不用头结点作前驱。希望能帮到你~

已采纳回答 / 风起了_
m_pList是一个Node*对象,这是对的。next只是一个数据成员,next只是一个指向Node类型的指针,指向下一个结点“在构造函数里面已经m_pList->next = NULL”这是初始化的时候,并没有插入任何元素,当然应该置为空。插入元素之后,就不会再为空了。

已采纳回答 / 黑巫师0
delete m_pList;   这个操作只是将指针m_pList所指向的内存空间释放掉,使内存重归操作系统。但m_pList的指向位置并没有改变,此位置的内存已经被释放掉了,若再用m_pList访问这块内存,系统就会崩溃出错!为了防止这种误操作所引起的崩溃出错。所以将m_pList置为NULL的安全状态,就避免这种野指针事件的发生。希望对你有所帮助~

已采纳回答 / 慕粉3921911
因为索引从零开始,最后一个元素是length-1,不是length,比如说有4个元素,长度为四,索引分别为0,1,2,3,所以最后一个是4-1,而不是4

已采纳回答 / 小白_ing
可以,这样没错,其实没必要再另外建一个Node的指针变量哈,James老师在LiseDelete()中其实就没有再建一个临时的Node指针了哈。

已采纳回答 / 大白鹅灰灰
m_pList是链表开头,不含数据。如果类比数组下标,m_pList->next对应的是k=0。想要删除第i个元素,自然是定位到k=i了。
课程须知
"本课程是数据结构初级课程 1、熟练掌握C++语言基础语法"
老师告诉你能学到什么?
1、顺序表的工作原理 2、顺序表的实现方法及编码技巧 3、链表的工作原理 4、链表的实现方法及编码技巧 5、通讯录的实现原理及编码技巧

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消