⚡️数据结构-第一章
⚡️抽象数据类型案例
⚡️数据结构-第二章(1)-线性结构
⚡️数据结构-第二章(2)-线性表的顺序表示和实现
⚡️数据结构-第二章(3)-顺序表(含代码)
⚡️数据结构-第二章(4)-顺序表案例(含代码)
- 数据结构
- 链式存储结构
- 与链式存储相关的术语
- 单链表、双链表、循环链表
- 小结
- 总结
- 用一组任意的存储单元存储线性表的数据元素
- 这组存储单元可以是连续的,也可以是不连续的,甚至是零散的分布在内存的任意位置上的。
- 链表中元素的逻辑次序与物理次序不一定相同
例如:
那怎么表示数据元素之间的逻辑关系呢?
与链式存储相关的术语 单链表、双链表、循环链表答:可以在存储自己内容的同时也存储下一个元素的地址。存储数据元素的域称为数据域,存储直接后继位置的域称为指针域。指针域中存储的信息称作指针或链。这两部分信息组成ai的存储映象称为结点(Node)。n个结点(ai(1≤i≤n)的存储映象链结成一个链表,即为线性表。把链表中第1个结点的存储位置叫头指针。最后一个元素意味着没有直接后继规定最后一个结点指针为空(通常用NULL或^表示)
- 为了更加方便对链表进行 *** 作,会在单链表的第1个结点前附设一个头结点.头结点的数据域可以不存储任何信息,也可以存储如线性表的长度等附加信息,头结点的指针域存储指向线性表第1个元素的结点。
单链表由头指针唯一确定,因此单链表可用头指针名字来命名。
讨论1:如何表示空表
讨论2:在链表中设置头结点有什么好处?
①有了头结点,对在第一元素结点前插入结点和删除第一结点,其 *** 作与其它结点的 *** 作就统一了
②便于空表和非空表的统一处理
当链表不设头结点时,假设L为单链表的头指针,它应该指向首元结点,则当单链表为长度n为0的空表时,L指针为空(判定空表的条件可记为:L == NULL)。增加头结点后,无论链表是否为空,头指针都是指向头结点的非空指针。头指针指向头结点。若为空表,则头结点的指针域为空(判定空表的条件可记为:L ->next == NULL)
简述为:
讨论3:头结点的数据域内装的是什么?
链表(链式存储结构)的特点:
期待大家和我交流,留言或者私信,一起学习,一起进步!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)