循环链表通常用尾指针表示整个链表(用头指针的话找an必须从头开始找,时间复杂度为O(n))
合并链表1和链表2:
- 让an结点的指针域指向b1
- 删去链表2的头结点
- 让bn结点的指针域指向链表1的头结点(在第1步前需用临时变量p保存链表1的头结点)
使之变成
也就是
LinkList Connection(LinkList r1,LinkList r2){
Node *p;
p=r1->next;
r1->next=r2->next->next;
delete r2->next;
r1->next=p;
return r2;
}