第27讲:单链表专题

发布时间:2026/10/16 0:52:57
第27讲:单链表专题 目录链表的概念及结构单链表的实现链表的分类单链表专题1课时1. 链表的概念及结构概念链表是一种在物理存储结构上非连续、非顺序的存储结构数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表的结构跟火车车厢相似淡季时车次的车厢会相应减少旺季时车次的车厢会额外增加几节。只需要将火车里的某节车厢去掉/加上不会影响其他车厢每节车厢都是独立存在的。车厢是独立存在的且每节车厢都有车门。想象一下这样的场景假设每节车厢的车门都是锁上的状态需要不同的钥匙才能解锁每次只能携带一把钥匙的情况下如何从车头走到车尾最简单的做法每节车厢里都放一把下一节车厢的钥匙。在链表里每节“车厢”是什么样的呢与顺序表不同的是链表里的每节“车厢”都是独立申请下来的空间我们称之为“结点/节点”。节点的组成主要有两个部分当前节点要保存的数据和保存下一个节点的地址指针变量。图中指针变量plist保存的是第一个节点的地址我们称plist此时“指向”第一个节点。如果我们希望plist“指向”第二个节点时只需要修改plist保存的内容为0x0012FFA0。为什么还需要指针变量来保存下一个节点的位置链表中每个节点都是独立申请的即需要插入数据时才去申请一块节点的空间我们需要通过指针变量来保存下一个节点位置才能从当前节点找到下一个节点。结合前面学到的结构体知识我们可以给出每个节点对应的结构体代码假设当前保存的节点为整型structSListNode{intdata;//节点数据structSListNode*next;//指针变量用保存下一个节点的地址};当我们想要保存一个整型数据时实际是向操作系统申请了一块内存这个内存不仅要保存整型数据也需要保存下一个节点的地址当下一个节点为空时保存的地址为空。当我们想要从第一个节点走到最后一个节点时只需要在前一个节点拿上下一个节点的地址下一个节点的钥匙就可以了。给定的链表结构中如何实现节点从头到尾的打印思考当我们想保存的数据类型为字符型、浮点型或者其他自定义的类型时该如何修改补充说明链式结构在逻辑上是连续的在物理结构上不一定连续节点一般是从堆上申请的从堆上申请来的空间是按照一定策略分配出来的每次申请的空间可能连续也可能不连续2. 单链表的实现typedefintSLTDataType;typedefstructSListNode{SLTDataType data;//节点数据structSListNode*next;//指针保存下一个节点的地址}SLTNode;voidSLTPrint(SLTNode*phead);//头部插入删除/尾部插入删除voidSLTPushBack(SLTNode**pphead,SLTDataType x);voidSLTPushFront(SLTNode**pphead,SLTDataType x);voidSLTPopBack(SLTNode**pphead);voidSLTPopFront(SLTNode**pphead);//查找SLTNode*SLTFind(SLTNode*phead,SLTDataType x);//在指定位置之前插入数据voidSLTInsert(SLTNode**pphead,SLTNode*pos,SLTDataType x);//删除pos节点voidSLTErase(SLTNode**pphead,SLTNode*pos);//在指定位置之后插入数据voidSLTInsertAfter(SLTNode*pos,SLTDataType x);//删除pos之后的节点voidSLTEraseAfter(SLTNode*pos);//销毁链表voidSListDesTroy(SLTNode**pphead);基于数据结构-单链表实现通讯录项目3. 链表的分类链表的结构非常多样以下情况组合起来就有 8 种2 x 2 x 2链表结构链表说明虽然有这么多的链表的结构但是我们实际中最常用还是两种结构单链表和双向带头循环链表。无头单向非循环链表结构简单一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。带头双向循环链表结构最复杂一般用在单独存储数据。实际中使用的链表数据结构都是带头双向循环链表。另外这个结构虽然结构复杂但是使用代码实现以后会发现结构会带来很多优势实现反而简单了后面我们代码实现了就知道了。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询