STL(排序演算法sort)

2021-08-21 18:50:31 字數 1152 閱讀 3756

標頭檔案:#include

1.對基本型別的陣列從小到大排序:

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

n1和n2都是int型別的表示式,可以包含變數

如果n1=0,則 + n1可以不寫

將陣列中下標範圍為[n1,n2)的元素從小到大排序

如:int a = ; sort(a,a+7); //對整個陣列從小到大排序

int a = ; sort(a,a+3); // 結果:

int a = ; sort(a+2,a+5); //結果:

2.陣列從大到小排序

對元素型別為t的基本型別陣列從大到小排序:

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

int a = ; sort(a+1,a+4,greater()); // 結果:

3.自定義進行排序

用自定義的排序規則,對任何型別t的陣列排序

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

排序規則結構的定義方式:

struct 結構名 };

例:

#include #include #include using namespace std;

struct rule1 //按從大到小排序  

};struct rule2 //按個位數從小到大排序  

};void print(int a,int size)

int main() ;

sort(a,a+sizeof(a)/sizeof(int)); //從小到大

cout << "1) "; 

print(a,sizeof(a)/sizeof(int)); 

sort(a,a+sizeof(a)/sizeof(int),rule1()); //從大到小 

cout << "2) ";

print(a,sizeof(a)/sizeof(int));

sort(a,a+sizeof(a)/sizeof(int),rule2()); //按個位數從小到大 

cout << "3) "; 

print(a,sizeof(a)/sizeof(int)); return 0; 

}

STL排序演算法sort

要使用stl中的演算法,需要在程式標頭檔案引入 include 1.對基本型別的陣列從小到大排序 sort 陣列名 n1,陣列名 n2 n1和n2都是int型別的表示式,可以包含變數 如果n1 0,則 n1可以不寫 將陣列中下標範圍為 n1,n2 的元素從小到大排序。下標為n2的元素不在排序區間內 ...

STL排序演算法sort

sort 陣列名 n1,陣列名 n2 注意排序區間是 n1,n2 左閉右開。預設為從小到大排序,如果想要從大到小排序,需要加引數sort 陣列名 n1,陣列名 n2,greater include includeusing namespace std int main sort a,a 5 for ...

詳細解說 STL 排序 Sort

從效率上看,以下幾種sort演算法的是乙個排序,效率由高到低 耗時由小變大 partion stable partition nth element partial sort sort stable sort 若需對vector,string,deque,或 array容器進行全排序,你可選擇sor...