【C语言】---单链表的实现

链表的分类

链表的结构非常多样,以下情况组合起来就有8中结构
其中我们常用的有两种:
1.不带头单向不循环链表
2.带头双向循环链表
其中这个头指的是“哨兵位”,这个我在下一篇博客会将,这篇博客讲的是不带头单向不循环链表。
在这里插入图片描述

单链表的概念和结构

单链表和顺序表一样也是一种线性表
两者也有很多不同,具体如下:
在这里插入图片描述
链表在物理上不是连续的,但在逻辑上是连续的。这句话的意思是链表中的节点在内存中不是连续存储的,而是随机存储的,但每个节点之间又有某种联系使得能找到彼此。
我们可以把链表当成火车:
在这里插入图片描述
单链表的逻辑如下:
plist是“哨兵位”,我们暂且不看
在这里插入图片描述

功能代码实现

功能我直接给代码给你们看,第一次学看不懂是正常的,要自己自行画图并结合代码进行理解。不会画的欢迎随时留言或者私信小编,小编看到会及时回复(小编非常平易近人的)

单链表结构的定义

结构中有两个元素,一个是节点的值,一个是直线下一个节点的地址的指针next
在这里插入图片描述

要实现的功能和所需的头文件

在这里插入图片描述
在这里插入图片描述

链表的尾插

尾插之前我们需要先初始化一下,给个NULL表示当前链表是空链表
在这里插入图片描述
以下是尾插代码:
在这里插入图片描述
尾插之前我们需要先申请一个空间,申请空间的代码如下:
在这里插入图片描述

链表的头插

代码如下:
在这里插入图片描述

链表的尾删

在这里插入图片描述

链表的头删

在这里插入图片描述

查找链表节点

在这里插入图片描述

在链表pos节点之前插入节点

在这里插入图片描述

在链表的pos节点之后插入节点

在这里插入图片描述

删除pos节点

在这里插入图片描述

删除pos节点之后的节点

在这里插入图片描述

打印链表中的元素

在这里插入图片描述

销毁链表

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值