线性表的链式存储结构

简介: 线性表的链式存储结构

   用一组物理位置任意的存储单元来存放线性表的数据元素,存储元素可以是连续的,也可以是不连续的,元素中的逻辑次序与物理次序不一定相同。


结点由数据域和指针域构成。数据域:存储元素数值数据,指针域:存储直接猴急结点的存储位置。


单链表是由头指针唯一确定,因此单链表可以用头指针的名字来命名。


与链式存储有关的术语:

1.结点:数据元素的存储映像。由数据域和指针域两部分组成。


2.链表:n个结点由指针域组成一个链表。他是线性表的链式存储结构,称为线性表的链式存储结构。


3.单链表、双链表、循环链表:结点只有一个指针域的链表,称为单链表或线性链表;结点有两个指针域的链表,称为双链表;首尾相接的链表称为循环链表。

微信截图_20230911194756.png

4.头指针、头结点和首元结点:

头指针:是指向链表中第一个结点的指针;

首元结点:是指链表中存储第一个数据元素a1的结点;

头结点:是在链表的首元结点之前附设的一个结点。

微信截图_20230911194932.png

在链表中设置头结点有什么好处?


1.便于首元结点的处理(首元结点的地址保存在头结点的指针域中,所以在链表的第一个位置上的操作和其他位置一致,无需进行特殊处理)


2.便于空表和非空表的统一处理(无论链表是否为空,头指针都是指向头结点的非空指针,因此空表和非空表的处理就统一了)。  


相关文章
|
算法 vr&ar
线性表的详解与深入
线性表的详解与深入
二叉树——链式存储
✅<1>主页:我的代码爱吃辣 📃<2>知识讲解:数据结构——二叉树 🔥<3>创作者:我的代码爱吃辣 ☂️<4>开发环境:Visual Studio 2022 💬<5>前言:上期讲了二叉树的顺序存储,今天来讲一下二叉树的链式存储。
|
存储 缓存
线性表
从以上就很容易看出,在缓存利用率方面,顺序表由于内存是连续的,而链表是一个个单个的节点连起来的,顺序表的命中率绝对要比链表高不少,但是链表又要比顺序表要灵活不少,到这里我相信你就能理解为什么说所以这两种结构是优势互补的关系了,具体使用哪种结构,当然还是要根据具体场景去抉择了,好了这篇博客到这里就结束了,多多点赞支持哦!!
线性表
|
存储 人工智能 DataX
线性表的顺序存储实现
线性表的顺序存储实现
|
存储
线性表的链式存储——链表
线性表的链式存储——链表
235 0
|
存储 C++
线性表的顺序存储——顺序表
线性表的顺序存储——顺序表
183 2
线性表的顺序存储——顺序表
|
存储 机器学习/深度学习 人工智能
浅谈线性表
数据结构线性表、栈与队列的区别0
114 0
浅谈线性表
线性表的链式存储实现(带头结点)
线性表的链式存储实现(带头结点)
|
存储 C++
C++实现线性表 - 02 单向链表
今天我们来动手实现一下链表结构,链表在我们后续的数据结构中用的十分频繁,可以说就是实现后续很多数据结构一个的基本工具,也是最容易的数据结构之一,我们先从最基础的单向链表讲起,小白刚开始学习肯定会被折磨的头疼,我也是这样的,但只要啃下这块硬骨头就已经前进一大步了!
189 0
C++实现线性表 - 02 单向链表