题目:整形数组合并
描述 | |
---|---|
知识点 | 排序,数组 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入说明,按下列顺序输入: |
输出 | 输出合并之后的数组 |
样例输入 | 3 1 2 5 4 -1 0 3 2 |
样例输出 | -101235 |
using namespace std;
int main()
{
int num1,num2,temp;
set<int> iset;
cin>>num1;
for(int i=0;i<num1;i++)
{
cin>>temp;
iset.insert(temp);
}
cin>>num2;
for(int i=0;i<num2;i++)
{
cin>>temp;
iset.insert(temp);
}
for(set<int>::iterator it=iset.begin();it!=iset.end();it++)
cout<<*it;
//system("pause");
return 0;
}
第二种方法,利用vector以及泛型算法,代码如下:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
int num1,num2,temp;
vector<int> ivec;
cin>>num1;
for(int i=0;i<num1;i++)
{
cin>>temp;
ivec.push_back(temp);
}
cin>>num2;
for(int i=0;i<num2;i++)
{
cin>>temp;
ivec.push_back(temp);
}
sort(ivec.begin(),ivec.end());
vector<int>::iterator end_unique=unique(ivec.begin(),ivec.end());
ivec.erase(end_unique,ivec.end());
for(vector<int>::iterator it=ivec.begin();it!=ivec.end();it++)
cout<<*it;
//system("pause");
return 0;
}
如果不允许使用使用STL,那么就乖乖排序吧,将两个数组中元素放到第三个数组中,然后排序,去重复,这部分代码等找到工作再回来补上吧。