数据结构与算法基础(二)之单链表的插入与删除操作

本文介绍了数据结构中单链表的插入和删除操作,强调了操作顺序的重要性,同时对比了顺序存储与链式存储在插入删除操作时的效率差异,指出在已知位置时链式存储的优势。

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

    今天主要来讲一讲单链表的插入与删除操作的步骤和算法解释。这是单链表最基本的操作但是也是最重要的基础之一,有些地方还比较容易出错。下面我就结合源代码在上面加上注释来解释每一步的作用。

    **一、单链表的插入操作**

1、图示(截图来自网易云课堂鱼C工作室《数据结构和算法》课程视频)
这里写图片描述
2、 要想将结点s插入到ai与ai+1之间,不需要移动数据元素,只需要在ai与ai+1之间插入一个新的结点,也就是我们要插入的结点s。关键就是要修改结点p的指针域,使得结点s称为其后继。修改指针的链接的主要操作语句是:

s->next=p->next;         //把结点p的后继作为结点s的后继;
p->next=s;              //把结点s作为结点p的后继;

注意这两个语句的顺序不能调换不能调换不能调换!!!

为什么呢?如果调换①和②的顺序,那么插入操作就无法完成,并且会丢失ai结点的地址以及ai及其后面所有结点的信息。

3、下面演示插入操作的算法:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值