1. 程式人生 > 實用技巧 >C++ sort函式

C++ sort函式

百度百科的定義:
sort函式用於C++中,對給定區間所有元素進行排序,預設為升序,也可進行降序排序。sort函式進行排序的時間複雜度為n*log n,比冒泡之類的排序演算法效率要高,sort函式包含在標頭檔案為#include<algorithm>的c++標準庫中。

sort函式概述:

  • 語法:sort(start,end,cmp);
  • 引數:
    1. start表示要排序陣列的起始地址;
    2. end表示陣列結束地址的下一位;
    3. cmp用於規定排序的方法,可以省去,預設升序。

現在要使得sort函式從大到小排序:

  • 方法一:重寫cmp函式

    #include <iostream>
    #include <algorithm>
     
    using namespace std;
     
    bool cmp(int a,int b){
        return a > b;
    }
     
    int main(){
        int a[] = {4,2,6,3,3,1,8};
        sort(a,a+7,cmp);
        for(int i = 0;i < 7; ++i){
            cout << a[i] << " " ;
        }
        return 0;
    }
    
  • 方法二:

    降序排列:sort(a.rbegin(), a.rend())

    升序排列:sort(a.begin(), a.end())