线性表
线性表统指可以按顺序逐个访问的数据结构
前面讲到的数组,本章要讲的链表,后面要讲的栈和队列,都是线性表
链表
线性表只定义了数据的访问方式,至于数据如何存储,那就有两种方式
一种是数据在内存中连续存储,这种叫做顺序表,即上章提到的数组
一种是数据在内存中随机存储,哪里有位置存哪里,但通过一个指针连接起来,也能起到按顺序访问的效果
第二种就是本章要讲的链表
链表的优点
由于数组必须一次性开辟大量内存,并且不能修改长度,因此添加和删除特别不方便
而链表的数据位置是任意的,这样就可以很方便的新增元素,或调整元素顺序,只要修改next指针即可
数组一般适合用来存储固定的静态数据,链表更适合数据调整频繁的场景
链表的分类
链表可分为四类:静态链表、单向链表、双向链表、循环链表
接下来,我们会分四篇博客,分别详细讲解每种链表的原理和如何实现