【数据结构】两个单循环链表的连接操作

假设在单链表或头指针表示的链表上操作这个比較消耗性能,由于都须要遍历第一个链表。找到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;//返回新循环链表的尾指针
	}


posted @ 2017-06-17 14:06  zhchoutai  阅读(1259)  评论(0编辑  收藏  举报