作用:去除相邻元素中重复的数(实际是移动到后面)
原理:对一个有序数组或容器,不停的从末尾将一个元素送到开头,(重复的元素只送一个),送出的元素覆盖原来在此位置的元素。
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[10];
for(int i=0;i<10;i++)
{
cin>>a[i];
}
sort(a,a+10); //先排序
int ans=unique(a,a+10)-a; //关键的一步,返回的是去重后的元素数量
cout<<"原数组元素:\n";
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
cout<<"去重后不输出被隐藏的元素:\n";
for(int i=0;i<ans;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
cout<<"输出去重后数组中所有的元素:\n";
for(int i=0;i<10;i++)
{
cout<<a[i]<<" ";
}
cout<<endl;
return 0;
}