数据结构与算法3(线性表2)

本文详细介绍了链式存储结构,包括单链表(仅包含一个指针)、双链表(每个节点有两个指针),以及循环链表的特点。讨论了头结点的作用、链表的声明与定义,涉及链表初始化、销毁与清空方法,以及获取元素和插入元素的头插法和尾插法等算法应用。
摘要由CSDN通过智能技术生成

链式存储结构,存储每一个结点时,既包括数据域(该元素内容),又包括指针域(下一个结点地址)。最后一个结点的指针域为NULL即0。

单链表
​结点只有一个指针域的链表,称为单链表或线性链表
​双链表
​结点有两个指针域(一个指向前一个指向后)的链表,称为双链表
​循环链表
​首尾相接的链表称为循环链表

98d3f65351b84872861709fd2a10d13e.jpeg

 链表组成

3f0242a145f94bd2a22d207b73ccdf78.jpeg

 ​头结点在算链表元素个数时并不算在内。
​头结点的好处(链表几乎都有头结点)
​1,无头结点时,头指针为空表示空表。有头结点时,头结点的指针域为空表示空表。所以有头结点便于空表和非空表的统一处理。
​2,便于首元结点的处理。
​首元结点的地址保存在头结点的指针域中,所以在链表的第一个位置上的操作和其它位置一致,无须进行特殊处理;

链表声明和定义

89086fdb4ecd406ba664b106af131d0f.jpeg

805db1fe201440f4b6dac01d13825055.jpeg 

 链表的一些算法

 

链表初始化

e179b4063f984a42b720b50a117010c0.jpeg

 L为头指针

销毁链表

981a082cf3d7428ba379302d4ce45cce.jpeg

 清空链表

29b5453b364b45de8e2415c4fd9a56ef.jpeg

获取链表中某元素

12199be2fd234919a38fec30cbdae978.png

插入元素

dd5bd4d6f9964e41a2e47848778326a8.png

 建立单链表

头插法

261ff3e1e5aa4efdbf103acef874dfba.png

ad1cc3737e08454e85b35b57d6054453.png 

尾插法

8866cf6dbcea4f94be293c37148c9791.png

bc047607b5b748f7b51bf20ff286fbaa.png 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值