数据结构(C++)学习篇(四):线性表(循环链表)

推荐优先学习:单链表

循环链表定义

        头尾相接的链表,即:表中最后一个结点的指针域指向头结点,整个链表形成一个环

优点

        从表中任一结点出发均可找到表中的其他结点

循环条件

        涉及遍历条件时与单链表的差别:

单链表 单循环链表
p != NULL p != L
p->next != NULL p->next != L

时间复杂度

         利用尾指针表示单循环链表 a_{1}:R->next->next;   a_{n}: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;
}

视频:

戳这里_B站大学

你可能感兴趣的:(数据结构,数据结构,学习,链表)