21.数据结构-线性表的链式存储

1.问题

在线性表的顺式存储结构中,插入和删除中间元素需要移动大量的元素,所以需要一种新的数据结构,为线性表的链式存储,即链表

2.链式存储的定义

每一个链表结点不仅存储本身自带的数据,同时与存储着后继结点的信息,即存储后继结点的地址信息
在这里插入图片描述
每一个结点都包含指针域和指针域,指针域用来存储后继结点的地址
在这里插入图片描述

3.链表的分类及概念

链表分为单链表,循环链表,双向链表等
在这里插入图片描述
在这里插入图片描述
定义单链表结构体为
在这里插入图片描述
单链表的内部结构为:其中头结点只是做辅助作用,不存储实际的数据元素
在这里插入图片描述

4.单链表的插入操作

在这里插入图片描述
插入图解:如想要在1的位置插入一个新的结点,则先找到第一个结点的前一个结点,再执行下图的1,2部
在这里插入图片描述

5.单链表的删除操作

在这里插入图片描述
图示:如删除第一个结点,先找到删除结点,保存删除结点的下一个结点,防止链表丢失,在执行下图第一个步
在这里插入图片描述

6.小结

链表的数据元素在物理内存中无相邻关系
链表的结点都包含数据域指针域
头结点用于辅助数据元素的定位,方便插入和删除操作
插入和删除操作需要保证链表的完整性

猜你喜欢

转载自blog.csdn.net/weixin_43824344/article/details/121195208
今日推荐