头文件:
#include<algorithm>
作用:
“去除”容器或者数组中相邻元素的重复出现的元素
注意:
(1) 这里的去除并非真正意义的erase,而是将重复的元素放到容器的末尾,返回值是去重之后的尾地址。
(2) unique针对的是相邻元素,所以对于顺序顺序错乱的数组成员,或者容器成员,需要先进行排序,可以调用sort()函数。
看如下代码理解一下吧
w(゚Д゚)w
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[8] = {3, 3, 2, 2, 4, 4, 6, 5};
int pos;
cout<<"数组初始元素:"<<endl;
for(int i=0; i<8; i++)
cout<<a[i]<<' ';
printf("\n\n");
sort(a, a + 8); //对于无序的数组需要先排序
cout<<"数组排序后的元素:"<<endl;
for(int i=0; i<8; i++)
cout<<a[i]<<' ';
printf("\n\n");
pos = (unique(a, a+8) - a);
cout<<"去重的结束位置:"<<pos<<endl<<endl;
cout<<"去重后的数组元素:"<<endl;
for (int i = 0; i < pos; i++)
cout<<a[i]<<' ';
printf("\n");
return 0;
}