数据结构-循环链表
循环链表
循环链表:是一种头尾相接的链表(即:表中最后一个结点的指针域指向头结点,整个链表形成一个环)。
优点:从表中任一结点出发均可找到表中其他结点。
注意:
由于循环链表中没有NULL指针,故涉及遍历操作时,其终止条件就不再像非循环链表那样判断p或p->next是否为空,而是判断它们是否等于头指针。
合并带尾指针的循环链表
【操作步骤】
- p存表头结点
p=Ta->next; - Tb表头连接到Ta表尾
Ta->next=Tb->next->next ; - 释放Tb表头结点
delete Tb->next; - 修改指针
Tb->next=p;
【算法描述】
LinkList Connect(LinkList Ta, LinkList Tb){//假设Ta、Tb都是非空的单循环链表p=Ta->next; //①p存表头结点Ta->next=Tb->next->next ;//②Tb表头连结a泰尾delete Tb->next;//③释放Tb表头结点//或free(Tb->next);Tb->next=p;//④修改指针return Tb;}