STL之sort排序

本文最后更新于:2023年8月26日 晚上

STL头文件#include <algorithm>

  • 对基本类型的数组从小到大进行排序:

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

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

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

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

  • 对元素类型为T的基本类型数组从大到小进行排序:

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

    1
    2
    int a[] = {15,4,3,9,7,2,6};
    sort(a+1,a+4,greater<int>());//结果:{15,9,4,3,7,2,6}
  • 用自定义的排序规则,对任何类型T的数组进行排序

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

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

    1
    2
    3
    4
    5
    6
    7
    struct 结构名
    {
    bool operater()(const T & a1,const T & a2) const{
    //若a1应该在a2的前面,则返回true
    //否则返回false
    }
    }

STL之sort排序
https://furthur509.github.io/2023/08/23/STL之sort排序/
作者
Yang Mingxin
发布于
2023年8月23日
许可协议