sort排序的基础使用

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>());

示例地址:待定;

上一篇:8.10模拟:贪心、最优化思路


下一篇:java常量和变量