出处:http://www.cnblogs.com/QQbai/archive/2011/07/25/2114780.html
作者:bcy
unique函数
unique()函数是一个去重函数,STL中unique的函数unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除。他是c++中的函数,所以头文件要加#include,具体用法如下:
int num[100];
unique(num,mun+n)返回的是num去重后的尾地址,之所以说比不真正把重复的元素删除,其实是,该函数把重复的元素一到后面去了,然后依然保存到了原数组中,然后返回去重后最后一个元素的地址,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。
去重排序
<pre name="code" class="cpp">#include<stdio.h>
#include<stdlib.h>
int cmp(const void *a, const void *b)
{
return *(int *)a-*(int *)b;
}
int main()
{
int a[101];
int b[101]={0};
int m;
int k=0;
while(scanf("%d",&m)!=EOF)
{
int i,j;
for(i=0;i<m;i++)
scanf("%d",&a[i]);
for(i=0;i<m;i++)
for(j=0;j<m;j++)
if(a[i]==a[j]&&i!=j)
{ a[i]=0;k++;break;}
qsort(a,m,sizeof(int),cmp);
printf("%d\n",m-k);
int flag=1;
for(i=0;i<m;i++)
if(a[i]!=0){
if(flag){printf("%d",a[i]);flag=0;}
else printf(" %d",a[i]);}
}
return 0;
}
出处:http://blog.sina.com.cn/s/blog_9a14732e0100wl1v.html
作者:青石板-油纸伞
unique()函数是一个去重函数,STL中unique的函数unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除。他是c++中的函数,所以头文件要加#include,具体用法如下:
int num[100];
unique(num,mun+n)返回的是num去重后的尾地址,之所以说比不真正把重复的元素删除,其实是,该函数把重复的元素一到后面去了,然后依然保存到了原数组中,然后返回去重后最后一个元素的地址,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
string ss("Helloword!_Helloword!");
cout<<ss<<endl;
sort( ss.begin(),ss.end());//排序
cout<<ss<<endl;
ss.erase(unique(ss.begin(),ss.end()),ss.end());//unique()把重复的元素移到最后并返回去重后最后一个元素地址
cout<<ss<<endl;
return 0;
}