五分钟入门链表(一)

文章介绍了如何初始化链表,包括创建工程文件、定义链表结构以及在C语言中实现尾插操作。通过结构体和指针管理链表节点,强调了使用二级指针处理链表头指针变化的重要性,并提供了具体的代码实现。此外,文章还预告了后续的链表操作接口实现。
摘要由CSDN通过智能技术生成
  1. 初始化链表

  1. 实现接口:

  • 尾插

  • 头插

  • 头删

  • 尾删

  • 任意插入,在pos的前面插入x

  • 任意删除,删除pos位置的值

  • 释放空间

初始化链表

我们可能首先想到要对链表进行初始化,但是磨刀不误砍柴工,我们首先更应该创建工程文件,方便我们后期对程序的管理和维护。

  • SList.h头文件——声明函数

  • SList.c——函数实现

  • test.c——主函数

如果看过我之前写的顺序表(一),我们就能很顺利地创建出工程文件。

然后我们就对链表进行初始化

在头文件中写入:

这样做,是一种思想——我们能对链表结构中的内容进行掌握

然后在写入test.c(主文件)中就行了

当然一股脑全写入主函数中显得文件很臃肿。我们可以稍微修改一下

如此一来就方便我们后面的调试

接下来就是接口的调试

实现接口:

尾插

先来个尾插,这里我们可以对照学习顺序表(一)中的尾插

了解一下顺序表逻辑结构的原理

原理图如下:

通过指针找到链表中的元素

但是我们仍然对链表的概念仍然比较模糊,我们可以尝试用物理结构进行分析

通过本图,我们可以发现链表的单个节点由两个部分组成——数据类型和指针

通过视图,我们发现通过指针指向下一个节点的地址从而实现链表的基本结构

那么这又和尾插之间有什么关系呢?

那么我们再来看一组视图

那么了解清楚原理之后,写出函数便是一件轻松的事了,但是我们不可以大意仍然有些细节点不可忽视

在SList.h头文件中写入

在SList.c中写入

在这里很多人都会犯传入一级指针从而形参无法改变实参,导致无法指向下一个节点等问题

实现完尾插,感兴趣的小伙伴可以尝试用一下。可以借鉴一下顺序表(三),看看如何调用。

下期将给大家带来剩下的接口实现,感兴趣的小伙伴可以点个关注和赞就是对我最大的支持和鼓励!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

染柒_GRQ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值