2025年单向链表的基本操作(单向链表的基本操作有哪些)

单向链表的基本操作(单向链表的基本操作有哪些)p id main toc strong 目录 strong p 一 单链表的实现 1 准备工作及其注意事项 1 1 先创建三个文件 1 2 注意事项 帮助高效记忆和理解 2 链表的基本功能接口 2 0 创建一个 链表 2 1 链表的打印 3 链表的创建新节点接口 4 链表的节点插入 功能接口 4 1

大家好,我是讯享网,很高兴认识大家。



 <p id="main-toc"><strong>目录</strong></p> 

讯享网

一. 单链表的实现

1.准备工作及其注意事项

1.1 先创建三个文件

1.2 注意事项:帮助高效记忆和理解

2.链表的基本功能接口

2.0 创建一个 链表

2.1 链表的打印

 3.链表的创建新节点接口

4.链表的节点插入功能接口

4.1 尾插接口

4.2 头插接口  

  4.3 指定位置 pos 之前 插入接口

 4.4 指定位置pos 之后 插入接口(推荐)


讯享网

5.链表表的删除功能接口

5.1 尾删接口

5.2头删接口

5.3 删除 指定位置 pos 节点 接口

5.4 删除  指定位置 pos ==之后== 的一个 节点 接口

6.链表的  查找  接口

7.链表的  销毁  接口

二、总代码

SList.h

SList.c

test.c


前言:(受篇幅限制,为了划清知识模块,进行分章节讲解)

若想了解清楚 链表的概念和分类 

可以点击跳转 这一章节—-&gt; :


一. 单链表的实现

1.准备工作及其注意事项
1.1 先创建三个文件

 解释这三个文件的作用
 1、头文件SList.h  是来声明接口函数,定义链表,将几个公共用到的库函数集合起来
 2、源文件SList.c  是用来具体实现接口
 3、源文件test.c  用于接口的测试工作 ,即具体的使用场景

1.2 注意事项:帮助高效记忆和理解

1. 但凡是删除,必须 断言 链表不能为 空,避免传过来的是NULL指针 assert(pphead);
2. 传递二级指针,要断言 不能为 NULL ,指针不能为空:assert(pphead);
3. 指定位置 pos 时,要确保pos存在:assert(pos);
4. (pphead)-&gt;next;  解引用前一定要加 括号,
号 优先级 &lt; 箭头操作符
5. 链表的所有插入接口:链表为空: 没有节点 就直接插入
6.要找 前一个节点 prev 或 后一个节点 next 时, 一定要确保 其本身存在!!!!
7.当指定位置 pos 刚好是 头节点时 就没有 prev 了

2.链表的基本功能接口
2.0 创建一个 链表
讯享网
2.1 链表的打印
 
 3.链表的创建新节点接口
讯享网
4.链表的节点插入功能接口
4.1 尾插接口

链表的尾插法
几种情况
1、链表非空:先找到尾节点,然后直接将尾节点 的 next 指向 新节点,(形成链接), 新节点 则 指向 NULL 变成 新的尾节点
2、链表为空:将头指针phead更新 成 新插入节点的地址,然后新节点 next 指向 NULL

 

4.2 头插接口  

讯享网

  4.3 指定位置 pos 之前 插入接口

 
 4.4 指定位置pos 之后 插入接口(推荐)

讯享网
5.链表表的删除功能接口
5.1 尾删接口

 
5.2头删接口

讯享网
5.3 删除 指定位置 pos 节点 接口
 
 5.4 删除  指定位置 pos ==之后== 的一个 节点 接口

讯享网
 6.链表的  查找  接口
 
7.链表的  销毁  接口
讯享网

SList.h

 

SList.c

讯享网

test.c

 

完。

若上述文章有什么错误,欢迎各位大佬及时指出,我们共同进步!

小讯
上一篇 2025-06-03 22:13
下一篇 2025-04-25 09:25

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/192409.html