我并没有按照题目要求的接口做,改成了vector。
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
vector<int> array1;
vector<int> total;
int n1 = 0;
int n2 = 0;
int temp = 0;
cin >> n1;
for (int i = 0; i < n1; ++i)
{
cin >> temp;
array1.push_back(temp);
}
cin >> n2;
for (int i = 0; i < n2; ++i)
{
cin >> temp;
array1.push_back(temp);
}
sort(array1.begin(), array1.end());
vector<int>::iterator pos;
pos = unique(array1.begin(), array1.end());
array1.erase(pos, array1.end());
for (unsigned int i = 0; i < array1.size(); ++i)
{
cout << array1[i];
}
cout << endl;
return 0;
}
删除重复数据用到了unique()函数,但前提是必须对数组进行排序。返回重复元素的下一个位置。然后利用vector自带的erase()删掉重复元素。