前言
这一节是链表,这是为了填坑,自己说过的话,一定要做到。
什么是链表
相比上一章的数组,链表是一种稍微麻烦亿丢丢的数据结构。如图:
数组需要一块连续的存储空间,对内存要求高,而链表则不必,链表是通过指针将零散的内存块连接起来使用。
链表的结构有很多,这里主要介绍三种,单链表,双链表,循环链表,
单链表
入上图,可以发现,其中两个节点比较特殊,分别是第一个节点和最后有个节点,,一般我们把第一个节点叫头节点,最后一个节点叫尾节点,
而头节点用来记录链表的基地址,有了这个就能遍历得到整条链表,而尾节点的下一个指针,指的是空地址,
与数组一样,链表也支持插入和删除、查找等操作,而数组再进行插入、删除操作时,需要进行大量的搬迁,很麻烦
而链表本身就是非连续的内存空间,所以在插入删除时,就不必进行搬迁操作。所以在链表中插入和删除一个数据是非常快速的。在网上找了张图描述