unique()函数用于删除序列中重复的相邻元素,注意一定是相邻元素(所以使用unique()函数前一般都需要进行排序),而且这里的删除也不是直接删除(会返回一个迭代器,之后再使用erase()函数进行删除)
1、其函数原型为:
iterator unique(iterator it_1,iterator it_2,bool MyFunc);
前两个参数都是迭代器,表示对区间[it_1, it_2)内进行去重(左闭右开,和许多其他STL函数都一样)
2、函数原理介绍:
其实原理比较简单,就是不断的将后面不重复的元素覆盖前面重复的元素,并且返回最后一个不重复元素的坐标(迭代器)
过程如下代码块所示:
iterator My_Unique (iterator first, iterator last)
{
if (first==last)
return last;