sort 排序函数是在c++语言来使用的,使用此函数我们需要引用头文件: #include<algorithm>
语法描述为:sort(begin,end);
不过使用的话一般是sort(begin,begin+n);
或sort(begin,begin+n,cmp);
n代表着需要排序的数目;cmp代表着排序方式,不跟数组数据有关系。
begin,end分别代表首地址和尾地址。
例如:对s[12]中前10个元素进行排序,则可以写成sort(s,s+10,cmp);
sort函数默认排序方式是从小到大排序又称升序,可能有如会问:怎样用它降序排列呢?这就是下一个讨论的内容。
(1)自己编写函数compare函数(cmp);
bool cmp(int a,int b)
{
return a<b;//升序排列,如果改为 return a>b,则为降序。
}
结构体排序与普通排序相似。
bool cmp(Meet a,Meet b)
{
return a.end<b.end;
}
(2)利用functional标准库。
直接引用即可,表示为#include<functional>
;
functional 提供了如下基于模板的比较函数对象。type代表类型(int,double,结构体变量等)。
- equal_to(type):等于。
- not_equal_to(type):不等于。
- greater(type):大于。
- greater_equal(type):大于等于。
- less(type):大于。
- less_equal(type):大于等于。
对于简单的排序,greater 和 less就足够了。 - 从小到大排序:
sort(begin,end,less<type>());
- 从大到小排序:
sort(begin,end,greater<type>());
示例地址:待定;