前两节我们已经学习了单链表和双链表的概念以及具体的实现过程,其中有一个问题,值得注意,这样的链表有一个共同特征,就是尾节点指向 null,可以说是一次性的,像是糖葫芦。想象一下,如果此时,糖葫芦变成了手串,也就意味着头尾相连,形成闭环,这就是单向链表的另外一种形式,循环单向链表。本节我们就来具体介绍一下循环单向链表。
循环单向链表的定义
循环单向链表就是在普通单向链表的基础上尾节点的指针指向头节点,从而形成闭环结构。
内存中的结构
单向链表与循环单向链表的区别
单向链表 |
循环单向链表 |
|
查找 |
只能找到后继节点 |
可以找到前驱域后继节点 |
遍历 |
只能从头到尾遍历 |
可从任意一个位置遍历所有节点 |