排序函式sort()
阿新 • • 發佈:2019-02-10
這個不得不說,非常有用。
sort 對給定區間所有元素進行排序
要使用此函式只需用#include <algorithm> sort即可使用,語法描述為:
sort(begin,end),表示一個範圍,例子:
#include <algorithm> int main() { int a[20]={2,4,1,23,5,76,0,43,24,65},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).
1)自己編寫compare函式:
bool compare(int a,int b ) { return a<b; } #include <algorithm> #include <iostream> using namespace std; int main(){ int a[20]={2,4,1,23,5,76,11,43,24,9,8,7,9,7,45,6,6,54,2},i; for(i=0;i<20;i++) cout<<a[i]<<" "; cout<<endl; sort(a,a+20,compare); for(i=0;i<20;i++) cout<<a[i]<<" "; cout<<endl; return 0; }