概述
// algo2-12.cpp 用单链表实现算法2.1,仅有4句与algo2-1.cpp不同
#include"c1.h"
typedef int ElemType;
#include"c2-2.h" // 此句与algo2-1.cpp不同(因为采用不同的结构)
#include"bo2-2.cpp" // 此句与algo2-1.cpp不同(因为采用不同的结构)
#include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和print1()函数
void Union(LinkList La,LinkList Lb) // 算法2.1,此句与algo2-1.cpp不同
{ // 将所有在线性表Lb中但不在La中的数据元素插入到La中
ElemType e;
int La_len,Lb_len;
int i;
La_len=ListLength(La); // 求线性表的长度
Lb_len=ListLength(Lb);
for(i=1;i<=Lb_len;i++)
{
GetElem(Lb,i,e); // 取Lb中第i个数据元素赋给e
if(!LocateElem(La,e,equal)) // La中不存在和e相同的元素,则插入之
ListInsert(La,++La_len,e);
}
}
void main()
{
LinkList La,Lb; // 此句与algo2-1.cpp不同(因为采用不同的结构)
int j;
InitList(La);
//if(i==1) // 创建空表La成功
for(j=1;j<=5;j++) // 在表La中插入5个元素
ListInsert(La,j,j);
printf("La= "); // 输出表La的内容
ListTraverse(La,print);
InitList(Lb); // 也可不判断是否创建成功
for(j=1;j<=5;j++) // 在表Lb中插入5个元素
ListInsert(Lb,j,2*j);
printf("Lb= "); // 输出表Lb的内容
ListTraverse(Lb,print);
Union(La,Lb);
printf("new La= "); // 输出新表La的内容
ListTraverse(La,print);
}
运行的结果如下:
/*
La= 1 2 3 4 5
Lb= 2 4 6 8 10
new La= 1 2 3 4 5 6 8 10
*/
转载于:https://www.cnblogs.com/KongkOngL/p/3923431.html
最后
以上就是直率羽毛为你收集整理的用单链表实现算法2.1的全部内容,希望文章能够帮你解决用单链表实现算法2.1所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复