推荐优先学习:单链表
循环链表定义
头尾相接的链表,即:表中最后一个结点的指针域指向头结点,整个链表形成一个环
优点
从表中任一结点出发均可找到表中的其他结点
循环条件
涉及遍历条件时与单链表的差别:
单链表 | 单循环链表 |
---|---|
p != NULL | p != L |
p->next != NULL | p->next != L |
时间复杂度
利用尾指针表示单循环链表 :R->next->next;
:R
时间复杂度均为:O(1)
合并两个带尾指针的循环链表
//Ta,Tb 均为非空单循环链表
LinkList Connect(LinkList Ta, LinkList Tb)
{
LNode *p = Ta->next;
Ta->next = Tb->next->next; //Tb表头连结Ta表尾
delete Tb->next;
Tb->next = p;
return Tb;
}