题目描述
给你两个集合,要求{A} + {B}。 注:同一个集合中不会有两个相同的元素。
输入
每组输入数据分为三行,第一行有两个数字n,m(0 ≤ n,m ≤ 10000),分别表示集合A和集合B的元素个数。后两行分别表示集合A和集合B。每个元素为不超过int范围的整数,每个元素之间有个空格隔开。
输出
针对每组数据输出一行数据,表示合并后的集合,要求从小到大输出,每个元素之间有一个空格隔开,行末无空格。
样例输入
3 3
1 3 5
2 4 6
样例输出
1 2 3 4 5 6
思路
代码
#include <iostream>
#include<set>
using namespace std;
int main()
{
int a,b,c[100],i;
set<int> s;//定义一个int型集合s,当前没有任何元素
cin>>a;//输入第一个集合中元素的个数
cin>>b;//输入第二个集合中元素的个数
for(i=0;i<a+b;i++)//把元素插入到集合中
{
cin>>c[i];
s.insert(c[i]);
}
set<int>::iterator it;//定义向前迭代器
for(it=s.begin();it!=s.end();it++)//中序遍历集合中的所有元素
{
if(it==s.end())
cout <<*it;
else
cout <<*it<<" ";
}
return 0;
}
总结