Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >C语言——T/单链表专题

C语言——T/单链表专题

作者头像
用户11015888
发布于 2024-03-11 12:05:30
发布于 2024-03-11 12:05:30
9800
代码可运行
举报
文章被收录于专栏:csdncsdn
运行总次数:0
代码可运行
一、链表的概念及结构 概念:链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构,数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 链表的结构跟⽕⻋⻋厢相似,淡季时⻋次的⻋厢会相应减少,旺季时⻋次的⻋厢会额外增加⼏节。只需要将⽕⻋⾥的某节⻋厢去掉/加上,不会影响其他⻋厢,每节⻋厢都是独⽴存在的。 ⻋厢是独⽴存在的,且每节⻋厢都有⻋⻔。想象⼀下这样的场景,假设每节⻋厢的⻋⻔都是锁上的状态,需要不同的钥匙才能解锁,每次只能携带⼀把钥匙的情况下如何从⻋头⾛到⻋尾? 最简单的做法:每节⻋厢⾥都放⼀把下⼀节⻋厢的钥匙。 在链表⾥,每节“⻋厢”是什么样的呢?

二、单链表的实现

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
typedef int SLTDataType;
typedef struct SListNode
{
	SLTDataType data; //节点数据
	struct SListNode* next; //指针保存下⼀个节点的地址
}SLTNode;
void SLTPrint(SLTNode* phead);

//头部插⼊删除/尾部插⼊删除
void SLTPushBack(SLTNode** pphead, SLTDataType x);
void SLTPushFront(SLTNode** pphead, SLTDataType x);
void SLTPopBack(SLTNode** pphead);
void SLTPopFront(SLTNode** pphead);

//查找
SLTNode* SLTFind(SLTNode* phead, SLTDataType x);

//在指定位置之前插⼊数据
void SLTInsert(SLTNode** pphead, SLTNode* pos, SLTDataType x);

//删除pos节点
void SLTErase(SLTNode** pphead, SLTNode* pos);

//在指定位置之后插⼊数据
void SLTInsertAfter(SLTNode* pos, SLTDataType x);

//删除pos之后的节点
void SLTEraseAfter(SLTNode* pos);

//销毁链表
void SListDesTroy(SLTNode** pphead);

三、链表的分类

虽然有这么多的链表的结构,但是我们实际中最常⽤还是两种结构:单链表和双向带头循环链表 1、⽆头单向⾮循环链表:结构简单,⼀般不会单独⽤来存数据。实际中更多是作为其他数据结 构的⼦结构,如哈希桶、图的邻接表等等。另外这种结构在笔试⾯试中出现很多。 2、带头双向循环链表:结构最复杂,⼀般⽤在单独存储数据。实际中使⽤的链表数据结构,都 是带头双向循环链表。另外这个结构虽然结构复杂,但是使⽤代码实现以后会发现结构会带 来很多优势,实现反⽽简单了,后⾯我们代码实现了就知道了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
单链表专题
链表是由一个一个节点(结点)组成的,一个节点由两个部分组成:要存储的数据 + 指针(结构体指针)
waves浪游
2024/04/14
910
单链表专题
链表 (2)
补充说明: 1、链式机构在逻辑上是连续的,在物理结构上不⼀定连续 2、节点⼀般是从堆上申请的 3、从堆上申请来的空间,是按照⼀定策略分配出来的,每次申请的空间可能连续,可能不连续
用户11317877
2024/10/16
930
链表 (2)
数据结构——单链表实现和注释浅解
迷迭所归处
2024/11/19
810
数据结构——单链表实现和注释浅解
【数据结构】单链表
链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 与顺序表不同的是,链表里的每个存储单元叫做节点,都是独立申请下来的空间,节点由两部分组成:当前节点要保存的数据和下一个节点的指针变量
s-little-monster
2024/06/06
930
【数据结构】单链表
【C语言入门数据结构3】链表之单链表
由于数组的这些缺点,自然而然的就产生链表的思想了。 链表通过不连续的储存方式,自适应内存大小,以及指针的灵活使用,巧妙的简化了上述的内容。
阿伟@t
2023/10/10
2220
【C语言入门数据结构3】链表之单链表
单链表C语言实现
2024/04/30
850
单链表实现通讯录
2024/04/30
900
单链表实现:从理论到代码
概念:链表是⼀种物理存储结构上⾮连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 。
秋邱
2024/10/09
1520
单链表实现:从理论到代码
数据结构(单链表(2))
以上便是单链表的实现过程,初学写作可能有部分地方没有解释清楚,欢迎各位专业人士前来批判指正,万分感谢!
用户11289931
2024/09/24
850
数据结构(单链表(2))
数据结构之链表(单链表)
数据结构之顺序表中我们有讲到顺序表有一些问题和缺点,为了能解决顺序表的问题,我们引入一个新的线性表——链表
摘星
2023/04/28
2880
数据结构之链表(单链表)
数据结构——单链表
为了更好的理解,我们可以把链表想象成火车,火车是由一节节车厢组成的,在淡季的时候会减少火车的车厢,在旺季的时候(比如春运)会增加车厢,只需要将火车里面的某节⻋厢去掉/
用户11352420
2024/11/07
680
数据结构——单链表
【初阶数据结构】——单链表详解(C描述)
这样,通过前一个结点的指针域中存储的地址,就可以找到下一个结点,我们也常说它指向下一个结点。
YIN_尹
2024/01/23
1400
【初阶数据结构】——单链表详解(C描述)
【数据结构】单链表
想象⼀下这样的场景,假设每节车厢的车门都是锁上的状态,需要不同的钥匙才能解锁,每次只能携带⼀把钥匙的情况下如何从车头走到车尾? 最简单的做法:每节车厢里都放一把下一节车厢的钥匙          在链表里,每节“车厢”是什么样的呢? 与顺序表不同的是,链表里的每节"车厢"都是独立申请下来的空间,我们称之为“结点/节点” 。         节点的组成主要有两个部分:当前节点要保存的数据和保存下⼀个节点的地址(指针变量)
用户11328191
2024/10/23
1050
【数据结构】单链表
【数据结构与算法】深入理解 单链表
数据域用于存储实际的数据(可以是任意类型的数据),而指针域则存储指向下一个节点的地址。
倔强的石头
2024/12/06
2010
【数据结构与算法】深入理解 单链表
【数据结构七夕专属版】单链表及单链表的实现【附源码和源码讲解】
希望你们都能遇到自己的米子哈和大kin库!!!!!!!!!!!!!!!!!!!!!!!
用户11367452
2024/11/21
800
【数据结构七夕专属版】单链表及单链表的实现【附源码和源码讲解】
数据结构从入门到精通——链表
链表是一种常见的数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。链表的一个显著特点是,它不需要在内存中连续存储,因此可以高效地插入和删除节点。这种灵活性使得链表在许多应用中成为理想的选择,尤其是在需要动态调整数据结构大小的场景中。
鲜于言悠
2024/03/20
5400
数据结构从入门到精通——链表
【海贼王的数据航海】链表—单链表
概念:链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
枫叶丹
2024/06/04
850
【海贼王的数据航海】链表—单链表
【数据结构】——单链表的实现(赋源码)
概念:链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构,数据元素的逻辑顺序是通过链表 中的指针链接次序实现的。
用户11286421
2024/09/23
890
【数据结构】——单链表的实现(赋源码)
【初阶数据结构篇】单链表的实现(附源码)
[Gitee](sllist/sllist · petrichor/2024-summer-c-language - 码云 - 开源中国 (gitee.com))
半截诗
2024/10/09
1740
【初阶数据结构篇】单链表的实现(附源码)
【数据结构初阶】一篇文章带你超深度理解【单链表】
前面我们学习了顺序表,实现了对数组内容增删查改等操作,但是顺序表仍然存在一些缺陷。
云边有个稻草人
2024/10/21
900
【数据结构初阶】一篇文章带你超深度理解【单链表】
相关推荐
单链表专题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验