首页 > 代码库 > 【数据结构】两个单循环链表的连接操作
【数据结构】两个单循环链表的连接操作
如果在单链表或头指针表示的链表上操作这个比较消耗性能,因为都需要遍历第一个链表,找到an,然后将b1链接到an的后面,时间复杂度是:O(n)。若在尾指针表示的单循环链表上实现,则只需改变指针,无需遍历,时间复杂度是:O(1)
现在看算法实现,需要4个主要步骤,都注释了:
LinkList Connect(LinkList A,LinkList B){ //假设A,B为非空循环链表的尾指针 LinkList p = A->next;//1、保存A链表的头结点的位置 A->next = B->next->next;//2、将A表的表尾链接到B表达开始节点处 free(B->next);//3、释放B表达头结点 B->next= P;//4、将B表达表尾的next链接到A的头 return B;//返回新循环链表的尾指针 }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。