C++中sort排序

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











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章