3.1、链表--单链表

一、线性表
1、顺序存储—数组
2、链式存储—链表
单链表 (有头、无头)(循环、不循环)
双链表 (有头、无头)(循环、不循环)
3、队列:循环队列
4、栈:先进后出
堆:先进先出
5、树:二叉树……
6、图

二、删除内存
是将链接或者标记符号(在使用是1、空闲是0)从1到0

三、单链表
查找一个节点的时候需要从第一个节点开始每次访问下一个节点,一直访问到需要的位置。也可以提前把一个节点的位置另外保存起来,然后直接访问。

四、循环链表
循环链表中第一个节点之前就是最后一个节点,反之亦然。循环链表的无边界使得在这样的链表上设计算法会比普通链表更加容易。

五、有头、无头
有头结点的链表相对无头结点的链表来说,主要体现在链表结点的增减上
如果没有头结点,链表的第一个结点的增减操作要和其他结点分开独立出来,而有了头结点后,链表的第一个结点的增删操作可以和后续的节点合并的一起,同理对于尾结点。在部分的访问判断操作链表第一个结点位置的特殊性也造成了增加头结点后程序的简明性(不用将第一个结点单独提出来操作处理)!

六、有头循环链表头节点插入
在这里插入图片描述
七、有头循环链表尾节点插入
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41110647/article/details/106326914