第三周项目3-求集合并集

01./*     
02.Copyright (c)2015,烟台大学计算机与控制工程学院     
03.All rights reserved.     
04.文件名称:项目3--求集合并集.cpp     
05.作    者: 高露     
06.完成日期:2015年9月21日     
07.版 本 号:v1.0     
08.     
09.问题描述:假设有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,
10.          即线性表中的数据元素即为集合中的成员。
11.          设计算法,用函数unionList(List LA, List LB, List &LC )函数实现该算法,
12.          求一个新的集合C=A∪B,即将两个集合的并集放在线性表LC中。
13.
14.
15.输入描述: 若干数据 。   
16.程序输出: LA的集合数据、LB的集合数据、LC的集合数据。
17.*/ 
#include "list.h"   
15.#include <stdio.h>   
16.  
17.void unionList(SqList *LA, SqList *LB, SqList *&LC)  
18.{  
19.    int lena,i;  
20.    ElemType e;  
21.    InitList(LC);  
22.    for (i=1; i<=ListLength(LA); i++) //将LA的所有元素插入到Lc中   
23.    {  
24.        GetElem(LA,i,e);  
25.        ListInsert(LC,i,e);  
26.    }  
27.    lena=ListLength(LA);         //求线性表LA的长度   
28.    for (i=1; i<=ListLength(LB); i++)  
29.    {  
30.        GetElem(LB,i,e);         //取LB中第i个数据元素赋给e   
31.        if (!LocateElem(LA,e)) //LA中不存在和e相同者,插入到LC中   
32.            ListInsert(LC,++lena,e);  
33.    }  
34.}  
35.int main()  
36.{  
37.    SqList *sq_a, *sq_b, *sq_c;  
38.    ElemType a[6]= {5,8,7,2,4,9};  
39.    CreateList(sq_a, a, 6);  
40.    printf("LA: ");  
41.    DispList(sq_a);  
42.  
43.    ElemType b[6]= {2,3,8,6,0};  
44.    CreateList(sq_b, b, 5);  
45.    printf("LB: ");  
46.    DispList(sq_b);  
47.    unionList(sq_a, sq_b, sq_c);  
48.    printf("LC: ");  
49.    DispList(sq_c);  
50.    return 0;  
51.}  


运行结果:

 

知识点总结:建立好算法库就可以使用,这一方面节省了不少时间。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值