std::vector<int>排序
时间: 2025-01-04 09:37:25 浏览: 5
在C++中,可以使用`std::sort`函数对`std::vector<int>`进行排序。这里有两种方式:
1. **使用默认的升序排列**[^2]:
```cpp
std::vector<int> vec = {2, 6, 3, 5, 4, 8, 1, 0, 9, 10};
std::sort(vec.begin(), vec.end()); // 默认升序
```
2. **自定义排序规则**[^1]:
如果你想按某个特定字段(如元素的第二个元素)进行降序排列,可以传递一个lambda表达式作为比较器:
```cpp
std::vector<std::vector<int>> vec(5, std::vector<int>(5)); // 构造5x5数组
std::sort(vec.begin(), vec.end(),
[](const std::vector<int>& a, const std::vector<int>& b) {
return a[1] > b[1]; // 按第二维降序
});
```
对于`arr`这样的一维向量,也可以使用lambda表达式调整其顺序:
```cpp
int arr[] = {2, 6, 3, 5, 4, 8, 1, 0, 9, 10};
std::sort(arr, arr + 10,
[](const int a, const int b) {
return a < b; // 自定义升序
});
```
阅读全文