数据结构 笔记:线性表的链式存储结构

链式存储的定义

为了表示每个数据元素与其直接后继元素之间的逻辑关系;数据元素出了存储本身的信息外,还需要存储直接后继的信息。

ps:在逻辑上,元素之间是相邻的;在物理内存中元素之间并无相邻关系。

链式存储逻辑结构

-基础链式存储结构的线性表中,每个节点都包含数据域和指针域

·数据域:存储数据元素本身

·指针域:存储相邻结点的地址

专业术语的统一

-顺序表

基于顺序存储结构的线性表

-链表

·基于链式存储机构的线性表

~单链表:每个结点只包含直接后继的地址信息

~循环链表:单链表中的最后一个结点的直接后继为第一个结点

~双向链表:单链表中的结点包含直接前去和后继的地址信息

链表中的基本概念

-头结点

·链表中的辅助结点,包含指向第一个数据元素的指针

-数据结点

·链表中代表数据元素的结点,表现形式为:(数据元素,地址)

-尾结点

·链表中的最后一个数据结点,包含的地址信息为空

单链表中的内部结构

头结点在单链表中的意义是:辅助数据元素的定位,方便和删除操作;因此,头结点不存储实际的数据元素。

在目标位置处插入数据元素

-从头结点开始,通过current指针定位到目标位置

-从堆空间申请新的Node结点

-执行操作

node->value = e;
node->next = current->next;
current->next = node;

总结:

-链表中的数据元素咋物理内存中午相邻关系

-链表中的结点都包含数据域和指针域

-头结点用于辅助数据元素的定位,方便插入和删除操作

-插入和删除操作需要保证链表的完整性

猜你喜欢

转载自blog.csdn.net/qq_29962483/article/details/83073046