a[10] = {3,5,3,7,1,3,9,5,8};要求输出数组a中不重复的数且保持相对位置不变。
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
int a[10] = {3,5,3,7,1,3,9,5,8,4};
vector<int> s(a,a+10);
vector<int>::iterator it,it1;
for (it = s.begin(); it != s.end(); it++)
{
it1 = find(s.begin(),it,*it);//从地址s.bigin()开始到地址it搜寻*it,find()返回首次查找到的元素 地址
if (it1 == it)
cout << *it << " ";
}
return 0;
}
这里不要使用unique去重,因为unique需要结合sort()去重,而且只能去除相邻相同元素,无法满足相对位置不变的条件。