unique()函数:是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除。
头文件:
#include<algorithm>
using namespace std;
unique(num,mun+n)它并不真正把重复的元素删除,该函数是把重复的元素移到后面去了,然后依然保存到了原数组中,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。
/*
输出去重后的数组
可以试一试去重后输出原来数组长度,重复的元素在后面
*/
#include<cstdio>
#include<algorithm>
using namespace std;
int a[50005];
int main()
{
int n;
while(scanf("%d",&n)!=-1)
{
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
int l=unique(a,a+n)-a;
for(int i=0;i<l;i++)
printf("%d ",a[i]);
}
return 0;
}