【数据结构·标准C语言实现】链表:线性表,循环链表,双向链表的增删改查

在之前的很多教材中,数据结构的实现都是基于C++实现的,对于很多没有学习C++的同学来说,在学习数据结构的过程中造成了一定的阻碍,基于这个原因,希望从标准C语言的角度,来全面描述数据结构的各个算法。

链表

链表作为第一章内容,是数据结构中不能绕开的话题,所以我们就从链表开始学习。
链表包括了几个部分,有线性表,有循环链表,有双向链表,下面看一个线性表的实例图链表的实例化

线性表

线性表的实现比较简单,只要深刻理解结构体的定义和应用,就可以轻松实现,这里说到了结构体的定义和应用,是C语言学习中不可或缺的一部分,这部分内容对于初学者来说可能比较难,但是一定要掌握好。

线性表的实现过程请看这里https://www.bilibili.com/read/cv7451817
图形和每一步的代码都比较清晰,为了简化实现过程,在实现各个算法的时候都是列举比较简单的实例,如果存在某些不严谨的地方,也请多多谅解。

循环链表

在理解了线性表的基础上,理解循环链表也是比较容易的,只要将收尾两个节点连接起来就形成循环的链式形状,可以循环遍历整个链表。
同样的请参考这个专栏https://www.bilibili.com/read/cv7463989。

双向链表

同样是基于结构体的理解,在线性表的基础上多加一个指向前一个节点的指针,使得各个节点顺利的连接起来,可以从前向后遍历整个链表,也可以从后向前遍历链表。
同样的请参考这个专栏https://www.bilibili.com/read/cv7478475。

猜你喜欢

转载自blog.csdn.net/m0_50984266/article/details/108759212