0
点赞
收藏
分享

微信扫一扫

数据结构(2)链表

我是芄兰 2022-02-06 阅读 59

文章目录

链表的介绍

链表(Link)是一种线性表 1 的数据结构。每个链表中的元素都存储着一个指针2,指向下一个元素的位置。

链表的结构

请添加图片描述

图片来自《我的第一本算法书》

如上图,链表的上一个元素的指针指向指向下一个元素的地址,因此链表的存储不需要像数组一样存储在同一个位置(如下图):

请添加图片描述

图片来自《我的第一本算法书》

链表的查找

因为数据都是分散储存的,所以访问数据需要从第一个元素的指针访问第二个元素,再从第二个元素的指针访问第三个元素。需要顺着指针往下访问(顺序访问)

请添加图片描述

图片来自《我的第一本算法书》

如上图,如果我们需要访问red,那么就需要先访问Blue的指针,再从Blue的指针访问Yellow的指针,再从Yellow的指针访问Red。所以链表访问数据较慢

链表插入元素

请添加图片描述

图片来自《我的第一本算法书》

如上图,由于链表的元素是分散式存储的,所以当需要加入数据时只需要将blue的指针指向green再将green的指针指向yellow(如下图)。链表的插入元素执行速度较快。

请添加图片描述

图片来自《我的第一本算法书》

链表删除元素

和插入元素相同,只需要改变元素指针就可以删除了。比如说需要删除yellow元素,那么只需要把green的指针指向red即可(如下图):

请添加图片描述

图片来自《我的第一本算法书》

链表的操作速度比较

访问插入删除

  1. 线性表:零个或多个数据元素的有限序列。每个线性表上的数据最多只有前和后两个方向。除了链表,数组、队列、栈等也是线性表结构。 ↩︎

  2. 指针:数据在计算机中存储的位置 ↩︎

举报

相关推荐

0 条评论