链表知识总结及代码实现
作者:互联网
目录
了解顺序表前首先应该了解结点等知识,下面来依次了解相关知识:
头指针、头结点和首元结点的概念
- 头指针: 是指向链表中第一个结点的指针
- 首元结点: 是指链表中存储第一个数据元素的结点
- 头结点: 是在链表的首元结点之前附设的一个结点;
链表的概念
定义:链表,别名链式存储结构或单链表,用于存储逻辑关系为 "一对一" 的数据。与顺序表不同,链表不限制数据的物理存储状态,换句话说,使用链表存储的数据元素,其物理存储位置是随机的。
链表的特性
- 结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻。
- 访问时只能通过头指针进入链表,并通过每个结点的指针域依次向后顺序扫描其余结点,所以寻找第一个结点和最后一个结点所花费的时间不等
有关链表的三个讨论 (有助于更好的理解)
➢如何表示空表?
- 无头结点时,头指针为空时表示空表
- 有头结点时,当头结点的指针域为空时表示空表
➢在链表中设置头结点有什么好处?
- 便于首元结点的处理:首元结点的地址保存在头结点的指针域中,所以在链表的第一个位置上的操作和其它位置一致, 无须进行特殊处理;
- 便于空表和非空表的统一处理:无论链表是否为空,头指针都是指向头结点的非空指针,因此空表和非空表的处理也就统一了 。
➢头结点的数据域内装的是什么?
头结点的数据域可以为空,也可存放线性表长度等附加信息,但此结点不能计入链表长度值。
标签:总结,结点,首元,空表,代码,存储,链表,指针 来源: https://blog.csdn.net/m0_63330233/article/details/120931482