输入:第一个数组个数 第一个数组数值 第二个数组个数 第二个数组数值
输出:两个数组合并(去掉重复数字)后升序输出
#include<iostream>
#include<map>
using namespace std;
int main()
{
int arr1_n,arr2_n,a;
cin >> arr1_n;
map<int,int>m;
map<int,int>::iterator p;
for (int i = 0;i < arr1_n;i++)
{
cin >> a;
m[a]=0;
}
cin >> arr2_n;
for (int i = 0;i < arr2_n;i++)
{
cin >> a;
m[a]=0;
}
for (p = m.begin();p != m.end();p++)
{
cout << p->first;
}
return 0;
}
想要用vector来着,但是erase函数总是用不好出错,下次再调试下如何正确使用erase。用map就比较讨巧,可以自动覆盖重复值,而且本身会默认升序排列。