unique函数的用法

今天WA了一道橙题,难过~~~~
对于unique函数,首先应该知道:该函数的作用是去重。
其中需要注意:这个函数只能对"相同元素在并邻在一块的"序列进行去重. 不能对相同元素七零八落地分布的一般序列进行去重。所以使用它必须要先过一遍sort排序
再者,unique函数返的返回值是一个迭代器,它指向的是去重后容器中不重复序列的最后一个元素的下一个元素。所以如果想要得到不重复元素的个数就需要用返回值-开始地址
下面上代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{
	int s[20]={1,8,5,8,5,4,2,5,1,2,1,6};
	sort(s,s+12);
	for(int i=0;i<12;i++)cout<<s[i]<<' ';
	cout<<endl;
	int ans=unique(s,s+12)-s;
	cout<<ans<<endl;
	return 0;
 } 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐