排序无时不在,无时不有。在算法中,有计数排序,选择排序i,冒泡排序,插入排序,快速排序等等。
下面以利用排序算法的一道题来说明问题。
以洛谷P1059题明明的随机数为例。
#include<iosteam>
#include<algorithm>
using namespace std;
int const MAXN=1010;
int a[MAXN],ans[MAXN],n,cnt=0,tmp=-1;
int main(){
cin>>n;
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
for(int i=0;i<n;i++)
{
if(a[i]!=tmp)ans[cnt++]=a[i];
tmp=a[i];
}
cout<<cnt<<endl;
for(int i=0;i<cnt;i++)cout<<ans[i]<<' ';
return 0;
}
这里用到了stl算法。