核心代码
sort(a, a + n);
k = unique(a, a + n) - a;
本题用到了头文件algorithm,我们可以先用sort函数进行排列,从大到小,sort(a,a+n,cmp)是对a数组从a[0]到a[n-1]进行排列.因为cmp是自定义排序函数,如果是将数组a从小到大排序,那么可以直接省略掉cmp;(sort只适用于数据不大的时候)
还有unique函数,unique(a,a+n)是对a数组从a[0]到a[n-1]进行去重,要求a数组已经有序,返回去重后最后一个元素对于的指针
#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e3;
int a[N],b[N];
int main(){
int n;
cin>>n;
int i,j;
for(i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
int k=unique(a,a+n)-a;
cout<<k<<endl;
for(i=0;i<k;i++)
cout<<a[i]<<' ';
}