链表的基础知识

简介: 链表的基础知识

链表的认识


概念


链表是数据结构之一,其中的数据呈线性排列。

优点

添加和删除比较方便

缺点

查询时速度比较慢


特点


  • 链表中的每个数据都有一个指针,用于指向下一个数据的内存地址
  • 在链表中,数据一般都是分散存储于内存中的,无须存储在连续空间内

查找数据


由于数据是分散存储,查找数据时,只能从第一个数据开始,顺着指针的指向一一往下访问(顺序访问)。


添加数据


添加数据时,只需要改变添加位置前后的指针指向就可以。


例如,a > c > d > e
  现在想要在a和c之间添加b元素,将a的指针指向b,将b的指针指向c即可。



删除数据


数据的删除也一样,只需改变指针的指向就可以。


例如:a > b > c > d
   现在想要删除b元素,只需要将a元素的指针指向c即可。


循环链表


链表尾部使用指针,并将指针指向链表头部的数据,称之为循环链表


640.png


双向链表


链表里每个数据都有两个指针,并且他们分别指向前后数据,称之为双向链表。


640.png


优点


不仅可以从前往后,还可以从后往前遍历数据。


缺点


  • 指针数的增加会导致存储空间需求增加
  • 添加和删除数据时需要改变更多指针的指向


写在最后


  • 文中使用的图片源自《我的第一本算法书》,如若侵权,请评论区留言,作者立即删除相关图片。
  • 公众号无法外链,如果文中有链接,可点击下方阅读原文查看😊
相关文章
|
4月前
|
存储 算法 C++
链表基础知识(二、双向链表头插、尾插、头删、尾删、查找、删除、插入)
链表基础知识(二、双向链表头插、尾插、头删、尾删、查找、删除、插入)
|
4月前
|
存储
链表基础知识(一、单链表、头插、尾插、头删、尾删、查找、删除、插入)
链表基础知识(一、单链表、头插、尾插、头删、尾删、查找、删除、插入)
|
10月前
|
缓存 NoSQL API
【Redis基础知识 六】Redis底层数据编码之链表
【Redis基础知识 六】Redis底层数据编码之链表
37 0
【Redis基础知识 六】Redis底层数据编码之链表
|
11月前
|
存储 编译器 C++
c++基础知识——STL之链表
c++基础知识——STL之链表
328 0
|
存储 C语言
《C语言程序入门——链表基础知识》单、双向链表概念、链表与数组优缺点1.1.6
{Type data;}Node;此处的Type data;是数据部分,用于保存该节点的实际数据。是地址部分,保存的是下一个节点的地址。
《C语言程序入门——链表基础知识》单、双向链表概念、链表与数组优缺点1.1.6
|
1月前
|
算法
LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)
LeetCode刷题---19. 删除链表的倒数第 N 个结点(双指针-快慢指针)
|
1月前
|
存储
LeetCode刷题---817. 链表组件(哈希表)
LeetCode刷题---817. 链表组件(哈希表)
【移除链表元素】LeetCode第203题讲解
【移除链表元素】LeetCode第203题讲解
|
1月前
|
算法 安全 数据处理
LeetCode刷题---707. 设计链表(双向链表-带头尾双结点)
LeetCode刷题---707. 设计链表(双向链表-带头尾双结点)