搜索
您的当前位置:首页正文

数据结构-----单链表的归并

来源:吉趣旅游网

将两个有序链表并为一个有序列表。

归并两个单链表算法如下:

void MergeList_L(LinkList &La, LinkList &Lb, LinkList &Lc) {
	// 已知单链线性表 La 和 Lb 的元素按值非递减排列
	// 归并 La 和 Lb 得到新的单链表 Lc,Lc的元素也按值非递减排列
	pa = La->next; pb = Lb->next;
	Lc = pc = La;
	while (pa && pb) {
		if (pa->data <= pb->data) {
			pc->next = pa; pc = pa; pa = pa->next;
		}
		else { pc->next = pb; pc = pb; pb = pb->next; }
	}
	pc->next = pa ? pa : pb;
	free(Lb);
} // MergeList_L

因篇幅问题不能全部显示,请点此查看更多更全内容

Top