c++ sort cmp
时间: 2023-07-23 08:57:08 浏览: 121
在C++中,sort函数的compare函数(cmp)是用于自定义排序规则的。它是一个可选的参数,用于指定排序时的比较方式。比较函数接受两个参数,并返回一个bool值,表示第一个参数是否小于第二个参数。
以下是一个示例,展示如何使用cmp函数来排序一个整数数组:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a, int b) {
// 自定义的比较函数,按照降序排序
return a > b;
}
int main() {
int arr[] = {5, 2, 9, 1, 3};
int n = sizeof(arr) / sizeof(arr[0]);
sort(arr, arr + n, cmp);
cout << "排序后的数组:";
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
上述代码中,cmp函数定义了降序排序的规则。sort函数根据这个规则对数组进行排序。最终输出的结果将会是:9 5 3 2 1。
你可以根据自己的需求编写不同的cmp函数来实现不同的排序规则。
相关问题
C++ sort cmp
C++中的sort函数可以用来对数组进行排序,其中cmp是一个可选的参数,用于指定排序的方式。如果不指定cmp,则默认按照升序排序。如果需要降序排序,则需要自定义cmp函数,该函数返回true表示第一个参数应该排在第二个参数之前,返回false则表示第一个参数应该排在第二个参数之后。在自定义cmp函数中,可以使用>、<等符号来进行比较。
C++ sort函数cmp
C++中的sort函数可以通过传入一个自定义的比较函数cmp来实现按照特定规则排序。cmp函数需要返回一个bool类型的值,表示两个元素的大小关系。
如果cmp返回true,则表示第一个元素应该排在第二个元素之前;如果cmp返回false,则表示第一个元素应该排在第二个元素之后。
下面是一个例子,演示如何使用cmp函数对一个整数数组进行降序排序:
```cpp
bool cmp(int a, int b) {
return a > b;
}
int main() {
int arr[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
int n = sizeof(arr) / sizeof(int);
sort(arr, arr + n, cmp);
for (int i = 0; i < n; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:9 6 5 5 5 4 3 3 2 1 1
阅读全文