c++

c++ sort函数的参数有哪些

小亿
150
2023-10-13 10:35:09
栏目: 编程语言

C++的sort函数有两种形式,一种是使用默认的比较函数进行排序,另一种是使用自定义的比较函数进行排序。

使用默认比较函数进行排序时,sort函数的参数如下:

  1. 第一个参数是要排序的起始位置的迭代器;

  2. 第二个参数是要排序的结束位置的迭代器;

  3. 第三个参数是可选的比较函数对象,用于指定排序的方式,默认为std::less(),即升序排序。

使用自定义比较函数进行排序时,sort函数的参数如下:

  1. 第一个参数是要排序的起始位置的迭代器;

  2. 第二个参数是要排序的结束位置的迭代器;

  3. 第三个参数是自定义的比较函数对象,用于指定排序的方式。比较函数的定义应该满足严格的弱序(Strict Weak Ordering)规则。

例如,使用默认比较函数进行排序的代码示例:

#include <algorithm>
#include <vector>
int main() {
std::vector<int> nums = {5, 2, 8, 1, 4};
std::sort(nums.begin(), nums.end());
return 0;
}

使用自定义比较函数进行排序的代码示例:

#include <algorithm>
#include <vector>
bool compare(int a, int b) {
return a > b; // 降序排序
}
int main() {
std::vector<int> nums = {5, 2, 8, 1, 4};
std::sort(nums.begin(), nums.end(), compare);
return 0;
}

0
看了该问题的人还看了