线性表的合并(两个集合求并集)
算法步骤:
依次取出Lb中的每个元素,执行以下操作:
(1)在La中查找该元素;
(2)如果找不到,则将其插入La的最后;
最后的结果通过La返回,所以在La的前面加上连字符。
有序表的合并
算法步骤:
(1)创建一个空表Lc;
(2)依次从La或Lb中“摘取”元素值较小的结点插入到Lc表的最后,直至其中的一个表变空为止。
(双指针)
(3)继续将La或Lb其中一个表的剩余结点插入在Lc表的最后
(*pc++ = pa++;)
while(pa <= pa_last) *pc++ = *pa++;
有序表的合并——用链表实现
注意:
第二行第三行:
pa = La->next; pb = Lb->next; (pa, pb这两个指针分别指向首元结点)
pc = Lc = La; (pc指向La的头结点)