循环链表的合并
知识储备
循环单链表:和单链表区别在于,表中最后一个结点不是NULL,而改为指向头结点,从而整个链表形成一个环
上图为透支正表示单循环链表,可以看出找到a1的时间复杂度是O(1),找到an的时间复杂度是O(n),这对于我们来说不是很方便
但是如果使用尾指针来表示单循环链表,可以看出找到a1的时间复杂度是O(1),找到an的时间复杂度是O(1),很方便,因此我们更倾向于用尾指针
两个带尾指针循环链表的合并
要做什么呢?
1.保存头结点信息
2.连接两个表
3.释放结点
4.修改指针
代码
LinkList Connect(LinkList a,LinkList b){
LinkList p;
p=a->next;
a->next=b->next->next;
delete b-next;
b->next=p;
}
这种写法是带头结点