1. 程式人生 > >c++ STL中sort函式的三種使用方法

c++ STL中sort函式的三種使用方法

複習一下~ STL,C++中的標準模板庫, 使用起來方便並且效率較高; sort函式有三種用法: 一:對基本型別陣列從小到大排序

sort( 陣列名+n1,陣列名+n2); 

將陣列中下標從n1到n2的元素進行從小到大排序,不包括n2,通過n1,n2 可以對整個或者部分陣列排序; 二:對元素型別為T的基本型別陣列從大到小排序

sort( 陣列名+n1,陣列名+n2,greater(T)()); 

T對應各種元素型別 同樣,將陣列中下標從n1到n2的元素進行從大到小排序,不包括n2,通過n1,n2 可以對整個或者部分陣列排序; 三:第三種自定義排序規則

sort(陣列名+n1,陣列名+n2,排序規則結構名);

排序規則結構體定義:

struct 結構名{
     bool operator(const T &a1, const T &a2){
          return      ;
     } 
};

返回值為true說明a1應該排在a2前面,false則相反,T對應元素型別。 舉個例子: 排序規則為按個位數從小到大排序:

struct Rule1{ 
    bool operator()(const int &a1, const int &a2){
    	return (a1%10)<(a2%10);
	} 
};

呼叫時sort(a,a+sizeof(a)/sizeof(int),Rule1());

sort還可以對結構體進行排序。

竟然把這裡當成自己的筆記本了~~