unique的作用是“去掉”容器中相邻元素的重复元素(一般要求数组有序),它会把重复的元素添加到容器末尾(所以数组大小并没有改变),而返回值是去重之后的尾地址。
用法:unique(数组首地址,数组尾地址)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> vec;
for( int i = 0 ; i <= n ; i++ ) //放入重复的元素
{
vec.push_back(i);
vec.push_back(i);
}
for( int i = 0 ; i < vec.size() ; i++ )
{
cout << vec[i] << " ";
}
cout << endl;
vec.erase(unique(vec.begin(),vec.end()),vec.end()); //返回去重后的尾地址,配合erase函数删除
for( int i = 0 ; i < vec.size() ; i++ )
{
cout << vec[i] << " ";
}
return 0;
}