数据结构-链表(一、过程分析)

一、为什么链表很重要

首先链表是真正的动态数据结构,也是最简单的一种动态数据机构,通过对链表的学习,我们可以更深入的理解引用和递归,也可以辅助组成其他数据结构!

二、什么是链表

链表是由节点组成的,每一个节点包括当前节点的数据和下一个节点的地址。数据存储在节点中,链表的空间是有限的,当最后一个节点的next是null的时候,意味着这个节点一定是最后一个节点。这就是链表。

优点:是真正的动态数组,不需要处理固定容量的问题。(开辟空间)
缺点:丧失了随机访问的能力。即不能向数组那样,给定一个索引,直接拿到这个索引的元素,这是因为从底层机制上,数组所开辟的空间在内存里是连续分布的,所以可以直接寻找这个索引对应的元素,但是链表不同,链表是直接通过next一层一层连接的,在底层每一个节点所在的内存的位置是不同的,我们必须靠这个next一点一点的来找到我们想要找的这个元素。
在这里插入图片描述

三、数组和链表的对比

在这里插入图片描述

四、在链表头中添加元素

在这里插入图片描述

五、在链表中间添加元素

关键:找到要添加的节点的前一个节点
在这里插入图片描述

六、为了编写逻辑方便,我们可以增设虚拟头结点。

在这里插入图片描述

七、链表元素的删除

真正确的思想在这里插入图片描述
常见的错误
在这里插入图片描述

发布了56 篇原创文章 · 获赞 9 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_43229543/article/details/103263366