C++中sort()函数
时间: 2023-06-24 12:09:09 浏览: 123
在C++中,`sort()`函数是一个标准库函数,用于对容器中的元素进行排序。`sort()`函数使用快速排序算法实现,时间复杂度为O(nlogn)。
`sort()`函数可以接受三个参数:
1. 指向容器中第一个元素的指针
2. 指向容器中最后一个元素的指针
3. 排序的比较函数
比较函数是可选的,如果没有提供比较函数,`sort()`函数默认按照升序排序。
以下是一个示例程序:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(int a, int b) {
return a > b; // 降序排序
}
int main() {
vector<int> v = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
sort(v.begin(), v.end(), cmp);
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
9 6 5 5 5 4 3 3 2 1 1
```
在这个示例中,我们使用了一个自定义的比较函数`cmp`,用于实现降序排序。`sort()`函数会根据比较函数的返回值来判断元素的大小关系。如果`cmp(a, b)`返回`true`,则认为`a`比`b`大。如果返回`false`,则认为`a`比`b`小。如果比较函数没有提供,则默认使用小于运算符进行比较。
阅读全文