数据结构之单链表

引言

哈喽,各位老铁。本期博主给大家带来更加精彩的内容-----单链表;前面给大家分享的顺序表它存在一个缺陷,就是我们以2倍进行增容,开辟的内存大,造成了严重的的内存资源浪费;为了避免造成内存浪费,我们就需要学习单链表。


本期内容目标

一、什么是链表?

我们都知道火车都是由车头和一节一节的车厢组成的。在运输淡季时我们可以减少车厢,在运输旺季我们可以增加车厢;其实链表的结构和火车的结构很类似;链表就是一种数据存储结构,它的结构上非连续、非顺序;链表的数据元素是由指针实现的;

相比小火车的结构,我们不难画出单链表的结构

二、实现单链表

1.创建单链表的结构:

2.实现单链表的打印:

3.实现头插:

4.实现头删:

5.实现尾插

6.实现尾删

7.查找指定节点

8.指定位置pos之前插入节点

9.删除指定位置pos节点

10.在指定位置pos之后插入节点

11.删除指定位置pos之后节点

12.销毁链表

至此就实现了一个单链表,以及实现了它的增删查改的功能;

总结

掌握链表,不仅是理解 "指针 + 结构体" 在数据结构中的经典应用,更能培养我们对非线性存储、内存动态管理的思维能力。它是后续学习双向链表、循环链表,乃至更复杂数据结构(如链表与树、图的结合)的基础,在实际开发中(如操作系统内存管理、某些缓存结构设计)也有广泛应用。通过本期对链表从 "是什么" 到 "怎么用" 的全流程学习,相信你已对这一数据结构建立了清晰且扎实的认知,不妨在实践中进一步尝试优化链表操作,或探索其与其他数据结构的联动吧!


行文至此,本期要给大家分享的内容就到这里了;新的内容也正在努力创作中,如果你觉得博主的文章对你有帮助三连支持一下;你的支持是我持续创作最大的动力;我们下期不见不散。

相关推荐
m0_547486662 天前
《数据结构教程》全套 PPT课件2026
数据结构
tryxr2 天前
矩阵的几种基础变换
java·数据结构·算法·矩阵
mmmmath_32 天前
LeetCode.028.找出字符串中第一个匹配项的
数据结构·算法·leetcode
All for pursuit.2 天前
【栈-4】739.每日温度
数据结构·c++·算法·leetcode
All for pursuit.2 天前
【栈-5】84.柱状图中最大的矩形
数据结构·c++·算法·leetcode
渡我白衣2 天前
HttpRequest与HttpResponse的实现
服务器·数据结构·c++·人工智能·tcp/ip·机器学习·caffe
晴天的雨.9922 天前
【C++算法】和为s的两个数
开发语言·数据结构·c++·算法
无敌贵点大王3 天前
RTThread学习记录11——RT-Thread 设备模型吃透:UART/ADC/PWM/PIN 到底有什么区别?
c语言·stm32·学习·链表
淡海水3 天前
13-04-面试-源码级深度追问链
数据结构·unity·面试·c#·游戏引擎·源码·il2cpp
Logic1013 天前
C语言/数据结构位运算题解:异或XOR找出时尚聚会中的“独特颜色“——只出现一次的数字
c语言·数据结构·数组·位运算·时间复杂度·算法题·异或性质