0%

37. Sort

sort() —— 排序

  • 导入头文件:#include <algorithm>

  • 使用模板

    1. sort(start, end)
    2. sort(start, end, cmp)

      Ps:

      1. 符号说明
      符号 说明
      start 起始地址
      end 终止地址
      cmp 自定义函数
      1. sort()函数,若没有cmp(第三个参数),则默认从小到大排序
      2. start和end,也可以传入迭代器的始末地址
  • cmp函数如何写

  1. 从大到小排序

    代码

1
2
3
4
bool cmp(int a, int b)
{
return a > b;
}
  1. 自定义排序,以两门成绩(假设第一门成绩为语文,第二门成绩为数学)为例,语文成绩以从小到大排序,若语文成绩相同,则数学成绩从小到大排序

    代码

1
2
3
4
5
6
7
bool cmp(pair<int, int>& a, pair<int, int>& b)
{
if(a.first != b.first)
return a.first < b.first;
else
return a.second > b.second;
}