這幾天一直在學習各種各種排序的思想,冒泡的雙重循環,桶排序的精準定位以及快排的二分法,實現排序有很多種思想,但真正在算法競賽的時候,首當其衝的就應該是一個東西!!!!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;
}