c++STL函数中的unique函数

来源:互联网 发布:网络直播摄像头哪种好 编辑:程序博客网 时间:2024/05/21 17:48

头文件是include<iostream.h>

举个例子:

int num[10] = { 1,1,2,2,2,3,4,5,5,5 };
int ans = unique(num, num + 10) - num;

先有一个已经排好序的容器,里面会有重复的数字,使用unique函数,会使重复的元素从右向左开始覆盖,最后得到

新的数组:
1,2,3,4,5,3,4,5,5,5
而unique(num,num+10)返回的是去重之后的尾地址。
在《c++标准程序库》中有写到:
1.将原本位置在后的未移除元素向前移动,覆盖被移除元素;
2.未移除元素在相对次序上保持不变。