c++ vector二维数组 行逆序
时间: 2024-07-23 15:01:15 浏览: 76
c++初学者资料勿抄袭
在 C++ 中,`std::vector` 通常用于表示一维动态数组,但如果需要创建类似二维数组的效果,我们可以在一层 `vector` 内存储另一层 `vector`。若要实现行逆序,即交换每一行的元素位置,你可以这样做:
```cpp
#include <vector>
#include <algorithm>
// 定义一个二维向量的结构
typedef std::vector<std::vector<int>> Vector2D;
void reverseRows(Vector2D& matrix) {
for (auto& row : matrix) { // 遍历每一行
reverse(row.begin(), row.end()); // 使用标准库函数reverse反向排列行内的元素
}
}
int main() {
Vector2D matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; // 初始化一个示例矩阵
// 反转行之后
reverseRows(matrix);
// 打印结果
for (const auto& row : matrix) {
for (int val : row) {
std::cout << val << " ";
}
std::cout << "\n";
}
return 0;
}
```
阅读全文