有两个循环单链表,链表头指针分别为h1和h2,编写一个函数将链表h2链接到链表h1之后,要求链接后的链表仍保持循环链表形式。
算法思想:先找到两个链表的尾指针,将第一个链表的尾指针与第二个链表的头结点链接起来,再使之成为循环的。
LinkList Link(LinkList &h1,LinkList &h2){
//将循环链表h2链接到循环链表h1之后,使之仍保持循环链表的形式
LNode *p, *q; //分别指向两个链表的尾结点
p=h1;
while (p->next!=h1) //寻找 h1 的尾结点
p=p->next;
q=h2;
while (q->next!=h2) //寻找 h2 的尾结点
q=q->next;
p->next=h2; //将h2链接到h1之后
q->next=h1; //令h2的尾结点指向h1
return h1;
}