c++ 中sort 自定义排序函数
时间: 2024-09-14 10:00:31 浏览: 69
实现过程代码如下-排序和cmp函数(更新版)(1)
在C++中,`std::sort`函数是一个非常实用的工具,用于对容器中的元素进行排序。如果你想自定义排序规则,可以提供一个比较函数(也称为三元操作符或者谓词),这个函数接受两个类型的值作为输入,并返回一个布尔值表示它们的相对顺序。
例如,如果你有一个整数数组,但是你想按照字符串形式的数字大小进行排序,你可以这样做:
```cpp
#include <algorithm>
#include <string>
bool compareInts(std::string a, std::string b) {
return stoi(a) < stoi(b);
}
int main() {
std::vector<std::string> numbers = {"3", "1", "4", "10", "2"};
std::sort(numbers.begin(), numbers.end(), compareInts); // 按照字符串数字排序
for (const auto& num : numbers) {
std::cout << num << " ";
}
return 0;
}
```
在这个例子中,`compareInts`函数定义了升序的比较规则。`std::sort`会根据这个函数的返回结果来调整数组的元素顺序。
阅读全文