c++ sort 自定义函数
时间: 2023-08-19 10:08:15 浏览: 150
在C++中,可以使用`sort`函数来对数组或容器进行排序。如果要使用自定义函数进行排序,可以通过自定义比较函数来实现。
比较函数需要满足以下条件:
- 接受两个参数,表示要比较的元素
- 返回一个`bool`值,表示第一个元素是否小于第二个元素
下面是一个示例代码,演示如何使用自定义函数对数组进行排序:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
// 自定义比较函数
bool myCompare(int a, int b) {
return a > b; // 降序排序
}
int main() {
int arr[] = {5, 2, 8, 1, 3};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n, myCompare);
cout << "排序后的数组:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
在上面的示例中,`myCompare`函数定义了降序排序的规则。通过将该函数名传递给`sort`函数的第三个参数,即可实现按照自定义规则对数组进行排序。运行上述代码,输出结果为:`排序后的数组:8 5 3 2 1`。
你也可以根据需要自定义比较函数来实现其他排序规则。只需在比较函数中根据自己的需求返回`true`或`false`即可。
阅读全文