STL中就自帶了排序函數sort,sort 對給定區間所有元素進行排序 要使用此函數只需用#include <algorithm> 即可使用,如下:
sort(begin,end),表示一個範圍
代碼如下:
#include <algorithm>
int main()
{
int a[20]={1,2,3,4,5,6,7,8,9};
int i;
for(i=0;i<20;i++)
cout<<a[i]<<endl;
sort(a,a+20);
for(i=0;i<20;i++)
cout<<a[i]<<endl;
return 0;
}
輸出結果將是把數組a按升序排序.
如何進行降序排序?如下:
可以自己編寫一個比較函數來實現,接着調用三個參數的sort:sort(begin,end,compare)就成了。對於list容器,這個方法也適用,把compare作爲sort的參數就可以了,即:sort(compare).
bool compare(int a,int b)
{
return a>b;
//降序排列,如果改爲return a<b,則爲升序
}
#include <algorithm>
int main()
{
int a[20]={1,2,3,4,5,6,7,8,9};
int i;
for(i=0;i<20;i++)
cout<<a[i]<<endl;
sort(a,a+20,compare);
for(i=0;i<20;i++)
cout<<a[i]<<endl;
return 0;
}