1. 程式人生 > >排序函式sort()

排序函式sort()

這個不得不說,非常有用。

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;
}