线性表的合并。
问题描述:La = (7,5,3,11) Lb = (2,6,3) 合并后 La = (7,5,3,11,2,6),注意,没有重复元素
算法步骤:
① 在 La 中查找该元素
② 如果找不到,则将其插入 La 的最后
// 返回的结果要通过 La 返回,所以加上 & void union(List &La, List Lb){ La_len = ListLength(La); Lb_len = ListLength(Lb); for(i=1; i<=Lb_len;i++){ // 依次取出列表b的第 i 个元素,赋值给 e GetElem(Lb,i,e); // 将从 Lb 中取出的元素依次在 La 中寻找 // 如果找到了就返回一个位置,就说明重复了 // 如果没找到就返回一个0,而0的!就是true // 没有的话就执行下一步 if(!LocateElem(La,e)){ // 将从 Lb 中取出的元素,插入到 La 中 ListInsert(&La, ++La_len, e); } } }
原文:https://www.cnblogs.com/AronKeener/p/14920092.html