1.功能
unique函数的功能为元素去重。即”删除“序列中所有相邻的重复元素(保留一个)。但也不是真的删除,而是指重复的元素会被不重复元素占掉位置,重复的元素会跑到序列最后。
2.函数原型
1)只有两个参数:
iterator unique(iterator it_1,iterator it_2);
这是最常用的形式。这两个参数表示对容器中[it_1,it_2)范围元素进行去重,返回值为一个迭代器,指向为去重容器中不重复序列的最后一个元素的下一个元素。
2)只有三个参数
iterator unique(iterator it_1,iterator it_2,bool MyFunc);
这中类型使用较少,第三个参数为自定义元素是否相等。也就是说通过自定义的两个元素相等的规则来对容器中的元素进行去重,与STL中的sort函数的第三个参数功能类似
3.简单使用例子
unique函数经常在sort函数之后使用,也经常与erase函数一起使用来达到删除重复元素的目的。
memset(b,'0',sizeof(b)); //对字符串数组进行初始化
...
sort(b,b+26,cmp); //对b进行排序
int flag=unique(b,b+26)-b; //flag为不重复元素的个数
if(flag<26)
cout<<"Failed";
end.