unique函数
- 该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素,将重复的元素放到容器的末尾,返回值是去重之后的尾地址
- unique针对的是相邻元素,所以对于数组的去重排序,可以先用srot函数排序,然后用unique函数去重
- unique函数返回值是**去重之后的尾地址 **
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[10] = {1,5,3,2,2,3,1,3,4,5};
for(int i = 0;i < 10;i++){
cout << a[i] << ' ';
}
cout << endl;
//排序
sort(a,a+10);
for(int i = 0;i < 10;i++){
cout << a[i] << ' ';
}
cout << endl;
//去重
int n = unique(a,a+10) - a;
for(int i = 0;i < 10;i++){
cout << a[i] << ' ';
}
cout << endl;
//去重排序后,有序数列元素个数
cout << n << endl;
return 0;
}
注意:unique函数返回的不是一个数,而是一个指针,所以如果想获得去重的部分数列的长度,需要通过n = unique(a,a+10)-a计算得出