1.问题
在线性表的顺式存储结构中,插入和删除中间元素需要移动大量的元素,所以需要一种新的数据结构,为线性表的链式存储,即链表
2.链式存储的定义
每一个链表结点不仅存储本身自带的数据,同时与存储着后继结点的信息,即存储后继结点的地址信息
每一个结点都包含指针域和指针域,指针域用来存储后继结点的地址
3.链表的分类及概念
链表分为单链表,循环链表,双向链表等
定义单链表结构体为
单链表的内部结构为:其中头结点只是做辅助作用,不存储实际的数据元素
4.单链表的插入操作
插入图解:如想要在1的位置插入一个新的结点,则先找到第一个结点的前一个结点,再执行下图的1,2部
5.单链表的删除操作
图示:如删除第一个结点,先找到删除结点,保存删除结点的下一个结点,防止链表丢失,在执行下图第一个步
6.小结
链表的数据元素在物理内存中无相邻关系
链表的结点都包含数据域
与指针域
头结点用于辅助数据元素的定位,方便插入和删除操作
插入和删除操作需要保证链表的完整性