这几天一直在学习各种各种排序的思想,冒泡的双重循环,桶排序的精准定位以及快排的二分法,实现排序有很多种思想,但真正在算法竞赛的时候,首当其冲的就应该是一个东西!!!!sort()!!!一个sort就可以解决大部分的排序问题,sort的用法也很简单:
sort(a,a+n),a为数列的首,a+n为数列的尾
下面是一个具体的例子,将一串数列去重并排序;
一个sort解决万千烦恼!记得加属于他的头文件哦;
#include<iostream>
#include<algorithm> //需要这个头文件!!
using namespace std;
int main()
{
int i,n,a[10001];
int count=0;
cin>>n;
for(i=0;i<n;i++) cin>>a[i];
sort(a,a+n); //so easy!
for(i=0;i<n;i++)
{
if(a[i] == a[i+1])
{
count++;
}
}
cout<<n-count<<endl;
for(i=0;i<n;i++)
{
if(a[i] == a[i+1])
{
cout<<a[i]<<" ";
i++;
}
else cout<<a[i]<<" ";
}
return 0;
}