关于我在学链表的过程中,一个小问题把我搞懵了一个小时的问题

本文讨论了在C++链表的SLTPushBack方法中,如何避免使用二级指针,通过理解一级指针的使用,解释了一级指针在已有节点情况下修改next指针的有效性,以及如何在不改变实参的前提下更新链表结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 在尾插函数(SLTPushBack)中,都是认为已经存在至少一个节点,但是我们在尾插的时候,也是可以在NULL后面插入一个新节点;

如果是这样在SLTPushBack中增加这样的if语句:

这样增加以后,只是去改变了形参pphead,没有去改变实参。

所以就去考虑用二级指针;

然后我就再次去思考,为什么在已经有几个节点的情况下,我们只需要用一级指针就可以去改变节点里面的next指针。而不用二级指针。while循环结束时,ptail是最后一个节点的位置,我们用ptail->next=newnode,相当于我们对ptail进行解引用,然后确确实实指向了next指针,我们就可以去改变next指针,相当于(*ptail).next=newnode;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值