c++调用sort函数
时间: 2023-10-07 18:05:59 浏览: 133
sort函数是C++标准库<algorithm>中的一个函数,用于对指定范围内的元素进行排序。sort函数有两种调用方式,一种是默认方式,另一种是自定义比较函数的方式。默认方式的函数签名为`void sort(RandomAccessIterator first, RandomAccessIterator last)`,其中`first`和`last`分别指定了排序范围的起始和结束位置。自定义比较函数的方式的函数签名为`void sort(RandomAccessIterator first, RandomAccessIterator last, Compare comp)`,其中`comp`是一个比较函数,用于指定元素的排序规则。自定义比较函数要求返回一个bool类型的值,用于判断两个元素的大小关系。
以下是使用sort函数的示例代码:
```cpp
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
bool cmp(int num1, int num2) {
return num1 > num2; // 可以简单理解为 >:降序排列; <:升序排列
}
int main() {
// 使用数组
int a[10] = {9, 6, 3, 8, 5, 2, 7, 4, 1, 0};
sort(a, a + 10, cmp); // 使用自定义排序函数
for (int i = 0; i < 10; i++) cout << a[i] << ' '; // 输出排序后数组
cout << endl;
// 使用vector
vector<int> arr = {9, 6, 3, 8, 5, 2, 7, 4, 1, 0};
sort(arr.begin(), arr.end(), cmp); // 使用自定义排序函数
for (int i = 0; i < 10; i++) cout << arr[i] << ' '; // 输出排序后数组
return 0;
}
```
以上代码中,我们通过自定义的比较函数`cmp`来实现降序排列。在使用sort函数时,如果不传入第三个参数,则默认是升序排列。
阅读全文