C语言:随笔9--链表

本文详细介绍了如何在C语言中实现链表的删除和插入操作。通过解题思路、算法流程图及代码示例,阐述了在已排序链表中查找并删除指定节点以及在不同位置插入新节点的方法。重点强调了在操作链表时指针的管理和next指针的重要性。
摘要由CSDN通过智能技术生成

接上篇:https://blog.csdn.net/m0_37957160/article/details/108685364

例子:写一函数以删除动态链表中指定的结点。

解题思路:

1、从p指向的第一个结点开始,检查该结点中的num值是否等于输入的要求删除的那个学号。

2、如果相等就将该结点删除,如不相等,就将p后移一个结点(继续寻找 ),再如此下去,直到遇到表尾为止。

3、可以设两个指针变量p1和p2,先使p1指向第一个结点。

4、如果要删除的不是第一个结点,则使p1后移指向下一个结点(将p1->next赋给p1),在此之前将p1的值赋给p2,使p2指向刚才检查过的那个结点(为什么要这样呢?因为刚才的那个图我们知道我们要实现删除操作C,必须这个结点B的next指向后一个结点D的地址,所以这个p2还是必须要先指向B保留一下,之后p2的next才能指向p1)。

算法流程图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Upupup6

写手不易请留下你的打赏鼓励谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值