c++ STL中sort函式的三種使用方法
阿新 • • 發佈:2018-12-16
複習一下~ 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());
竟然把這裡當成自己的筆記本了~~