求并集(数组)
时间限制: 1s
类别: DS:数组与链表->数组
问题描述
使用数组编程:
有两个集合,求其并集并输出。
要求:先输入集合A,再输入集合B,然后将B中(不属于集合A)的元素按顺序插入到A的后面(保持在B中的顺序),最后输出集合A(结果)的内容
输入说明
第一行输入集合A:
第一个整数m(0<=m<=100),表示集合A共有m个元素,其后有m个整数,表示集合A的元素
第二行输入集合B:
第一个整数n(0<=n<=100),表示集合B共有n个元素,其后有n个整数,表示集合B的元素
输出说明
输出集合A和集合B的并集,输出的内容都是整数,数字之间以一个空格分隔。(后面没有多余的空行以及空格)
#include<iostream>
using namespace std;
int main()
{
int n,m;
int a[101];
int b[101];
//输入
cin >> n;
for(int i=0; i<n; ++i) cin>>a[i];
cin>>m;
for(int i=0; i<m; ++i) cin>>b[i];
for(int i=0; i<m; ++i) //b
{
bool found=0;
for(int k=0; k<n; ++k)//a
{
if(b[i]==a[k])
{
found=1;
break;
}
}
if(!found) a[n++]=b[i];
}
for(int i=0; i<n; ++i)
{
cout<<a[i];
if(i<n-1) cout<<" ";
}
return 0;
}