c++中sort自定义排序
时间: 2024-11-04 20:09:28 浏览: 8
74_sort自定义排序1
在C++中,`std::sort()`函数是一个非常常用的用于对容器(如数组、向量等)中的元素进行排序的标准库算法。如果你想自定义排序规则,可以提供一个比较函数(也称为谓词),它接受两个类型的元素并返回一个布尔值来指示它们的相对顺序。
例如,如果你有一个整数向量,并且你想按照每个数字的绝对值大小来排序,你可以这样做:
```cpp
#include <vector>
#include <algorithm>
bool compareAbs(const int& a, const int& b) {
return std::abs(a) < std::abs(b);
}
int main() {
std::vector<int> numbers = {5, -3, 10, -1};
// 使用自定义比较函数
std::sort(numbers.begin(), numbers.end(), compareAbs);
for (const auto& num : numbers) {
std::cout << num << " ";
}
// 输出: 1 -3 5 10
return 0;
}
```
在这个例子中,`compareAbs`函数负责比较,`std::sort`会根据这个函数的结果来调整元素的顺序。
阅读全文