一、为什么链表很重要
首先链表是真正的动态数据结构,也是最简单的一种动态数据机构,通过对链表的学习,我们可以更深入的理解引用和递归,也可以辅助组成其他数据结构!
二、什么是链表
链表是由节点组成的,每一个节点包括当前节点的数据和下一个节点的地址。数据存储在节点中,链表的空间是有限的,当最后一个节点的next是null的时候,意味着这个节点一定是最后一个节点。这就是链表。
优点:是真正的动态数组,不需要处理固定容量的问题。(开辟空间)
缺点:丧失了随机访问的能力。即不能向数组那样,给定一个索引,直接拿到这个索引的元素,这是因为从底层机制上,数组所开辟的空间在内存里是连续分布的,所以可以直接寻找这个索引对应的元素,但是链表不同,链表是直接通过next一层一层连接的,在底层每一个节点所在的内存的位置是不同的,我们必须靠这个next一点一点的来找到我们想要找的这个元素。
三、数组和链表的对比
四、在链表头中添加元素
五、在链表中间添加元素
关键:找到要添加的节点的前一个节点
六、为了编写逻辑方便,我们可以增设虚拟头结点。
七、链表元素的删除
真正确的思想
常见的错误