unique是STL中很实用的函数之一
一、作用
unique的作用是“去掉”容器中相邻元素的重复元素“,但它又没有完整的去除,因为它会把重复的元素添加到容器末尾,而返回值是去重之后(最后一个数后面)的尾地址,如:
int num[]={1,1,1,3,3};
int ans=unique(num,num+5)-num;
cout<<ans<<"\n";
for(int i=0;i<=4;i++)cout<<num[i]<<" ";
输出:
2
1 3 1 3 3
易得:unique函数把重复的数,放到了去重后的数组中
二、使用条件
1、使用unique函数前,一定要将容器排序,不然unique函数返回值,可能与实际状况不符
2、unique函数,包左不包右,如:vector<int >v,unique(v.begin(),v.end())
int num[]={1,2,3,2,3,1};
int ans=unique(num,num+6)-num;
输出:ans=6,不等于3,说明unique是对排序数组进行去重的
愿以上对诸位有所帮助