文章目录
链表的介绍
链表(Link)是一种线性表 1 的数据结构。每个链表中的元素都存储着一个指针2,指向下一个元素的位置。
链表的结构
如上图,链表的上一个元素的指针指向指向下一个元素的地址,因此链表的存储不需要像数组一样存储在同一个位置(如下图):
链表的查找
因为数据都是分散储存的,所以访问数据需要从第一个元素的指针访问第二个元素,再从第二个元素的指针访问第三个元素。需要顺着指针往下访问(顺序访问)
如上图,如果我们需要访问red
,那么就需要先访问Blue
的指针,再从Blue
的指针访问Yellow
的指针,再从Yellow
的指针访问Red
。所以链表访问数据较慢
链表插入元素
如上图,由于链表的元素是分散式存储的,所以当需要加入数据时只需要将blue
的指针指向green
再将green
的指针指向yellow
(如下图)。链表的插入元素执行速度较快。
链表删除元素
和插入元素相同,只需要改变元素指针就可以删除了。比如说需要删除yellow
元素,那么只需要把green
的指针指向red
即可(如下图):
链表的操作速度比较
访问 | 插入 | 删除 |
---|---|---|
慢 | 快 | 快 |