1.定义
循环链表(Circular Linked List)是单链表的另一种形式,它是一个首尾相接的链表。其特点是将单链表最后一个结点的指针域由NULL改为指向头结点或线性表中的第一个结点,就得到了单链形式的循环链表,并称为循环单链表。
为了使某些操作实现起来方便,在循环单链表中也可设置一个头结点。 这样,空循环链表仅由一个自成循环的头结点表示。
在循环单链表中附设尾指针有时比附设头指针会使操作变得更简单。
如在用头指针表示的循环单链表中,找开始结点a1的时间复杂度是O(1),然而要找到终端结点an,则需要从头指针开始遍历整个链表,其时间复杂度是O(n)。
如果用尾指针rear来表示循环单链表,则查找开始结点和终端结点都很方便,它们的存储位置分别是rear->next->next和rear,显然,查找时间复杂度都是O(1)。因此,实用中多采用尾指针表示循环单链表。
2.特点
1、特点:
链表中的最后一个结点的指针域指向头结点,形成一个环。
2、优点:
某些操作简化,从表中任意一个