C++中sort排序
时间: 2024-12-17 11:15:39 浏览: 15
在C++标准库中,`std::sort`是用于对容器(如`vector`、`array`、`deque`等)中的元素进行排序的通用函数。`sort`函数属于 `<algorithm>` 头文件,其基本语法如下:
```cpp
template <class RandomIt>
void sort(RandomIt first, RandomIt last);
```
其中,`first` 和 `last` 分别指向需要排序范围的起始位置和结束位置(不包括`last`)。`RandomIt`是一个随机访问迭代器,表示了元素的存储结构。`<` 操作符应适用于这个迭代器所指的元素类型。
例如,对于一个`vector<int>`,你可以这样做:
```cpp
#include <algorithm>
#include <vector>
int main() {
std::vector<int> v = {5, 2, 9, 1, 7};
std::sort(v.begin(), v.end()); // 升序排序
for (const auto& num : v) {
std::cout << num << " ";
}
return 0;
}
```
这将输出:`1 2 5 7 9`.
如果你想实现自定义的排序规则,可以提供一个比较函数给`sort`,像这样:
```cpp
bool compare(const int &a, const int &b) {
return a > b; // 降序排序
}
std::sort(v.begin(), v.end(), compare); // 使用compare函数进行降序排序
```
阅读全文