STL排序算法Sort

用sort进行排序

要使用STL其中的算法,需要#include <algorithm>

sort(数组名+n1,数组名+n2)

n1和n2都是int类型的表达式,可以包含变量

如果n1=0,则 + n1可以不写

将数组中下标范围为[n1,n2)的元素从小到大排序,下标为n2的元素不在排序区间内

用法一:对基本类型的数组从小到大排序

 

用法二:对元素类型为T的基本类型数组从大到小排序

sort(数组名+n1,数组名+n2,greater<T>())

 

用法三:用自定义的排序规则,对任何类型T的数组排序

sort(数组名+n1,数组名+n2,排序规则结构名())

排序规则结构的定义方式:

输出结果:

1) 3,7,12,21,45,98,
2) 98,45,21,12,7,3,
3) 21,12,3,45,7,98,

用sort对结构数组进行排序

输出结果:

(Ala,333,3.5) (Jack,112,3.4) (Mary,102,3.8) (Mary,117,3.9) (Zero,101,4)
(Zero,101,4) (Mary,102,3.8) (Jack,112,3.4) (Mary,117,3.9) (Ala,333,3.5)
(Zero,101,4) (Mary,117,3.9) (Mary,102,3.8) (Ala,333,3.5) (Jack,112,3.4)