C++ sort函数排序
时间: 2025-09-02 08:22:00 AIGC 浏览: 17
### 使用方法
sort函数在C++头文件`<algorithm>`中,有三个参数`sort(first, last, cmp)`,其中`first`是元素的起始地址,`last`是结束地址,`cmp`是排序的方式,排序区间是左闭右开的`[first, last)`。第三个参数可不写,此时默认的排序方法是从小到大排序[^2][^3]。
以下是一个简单的使用示例:
```cpp
#include <iostream>
#include <algorithm>
#include <vector>
int main() {
std::vector<int> numbers = {5, 2, 9, 1, 5, 6};
// 不使用自定义比较函数,默认从小到大排序
std::sort(numbers.begin(), numbers.end());
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
若要使用自定义排序方式,例如从大到小排序,可以定义一个比较函数:
```cpp
#include <iostream>
#include <algorithm>
#include <vector>
// 自定义比较函数,从大到小排序
bool compare(int a, int b) {
return a > b;
}
int main() {
std::vector<int> numbers = {5, 2, 9, 1, 5, 6};
// 使用自定义比较函数
std::sort(numbers.begin(), numbers.end(), compare);
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
### 原理
sort函数使用的排序方法类似于快排,时间复杂度为$n \times log_2(n)$,执行效率较高[^2]。
阅读全文
相关推荐




















