c++sort怎么使用
时间: 2023-11-11 12:07:05 浏览: 74
浅析C/C++中sort函数的用法
C++的`sort`函数可以用来对数组、vector等容器中的元素进行排序。其函数原型如下:
```c++
template <class RandomAccessIterator>
void sort (RandomAccessIterator first, RandomAccessIterator last);
template <class RandomAccessIterator, class Compare>
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);
```
其中,第一个版本的`sort`函数使用默认的比较函数(升序排列),第二个版本的`sort`函数可以传入自定义的比较函数。
以下是一个示例代码:
```c++
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
bool cmp(int a, int b) {
return a > b; // 降序排列
}
int main() {
int a[] = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};
int n = sizeof(a) / sizeof(int);
sort(a, a + n); // 默认升序排列
for (int i = 0; i < n; ++i) {
cout << a[i] << " ";
}
cout << endl;
vector<int> v(a, a + n);
sort(v.begin(), v.end(), cmp); // 自定义降序排列
for (int i = 0; i < n; ++i) {
cout << v[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
1 1 2 3 3 4 5 5 6 9
9 6 5 5 4 3 3 2 1 1
```
可以看到,数组`a`默认升序排列后输出,vector`v`自定义降序排列后输出。
阅读全文