vector<vector>输出
时间: 2024-12-26 08:20:20 浏览: 4
### 正确输出C++中的二维向量 `vector<vector<int>>`
在C++中,为了正确地遍历并打印`vector<vector<int>>`的内容,可以采用嵌套循环的方式。外层循环用于迭代每一行(即每一个内部的一维向量),而内层循环则负责访问该行内的各个元素。
下面是一个具体的实现方法:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<vector<int>> matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 遍历输出所有元素
for (const auto& row : matrix) {
for (int elem : row) {
cout << elem << " ";
}
cout << endl;
}
return 0;
}
```
这段代码创建了一个名为`matrix`的二维整数向量,并填充了一些初始数据。通过使用范围for语句以及`auto`关键字简化语法[^1],能够更加简洁明了地完成对整个二维数组的遍历操作。每次处理完一行之后都会调用一次`cout<<endl;`来换行显示下一行的数据。
对于更复杂的情况,比如当不知道具体行列数目时,则可以通过成员函数`.size()`获取当前维度大小来进行动态控制。
相关问题
vector<vector<string>> 怎么输出
你可以使用一个循环来遍历 vector<vector<string>>,并在内部循环中输出每个字符串。代码示例如下:
```
vector<vector<string>> vec;
// 填充 vec,这里省略
for (const auto& sub_vec : vec) { // 遍历 vec 中每个 vector
for (const auto& str : sub_vec) { // 遍历子 vector 中的每个字符串
cout << str << " ";
}
cout << endl;
}
```
这会按行打印出 vector<vector<string>> 中的所有字符串。
vector<vector<string>>如何遍历输出
你好,关于你的问题,可以用两层循环进行遍历输出,示例如下:
```
vector<vector<string>> vec;
// 假设 vec 已经被初始化并填充了元素
for (int i = 0; i < vec.size(); i++) {
for (int j = 0; j < vec[i].size(); j++) {
cout << vec[i][j] << " ";
}
cout << endl;
}
```
以上就是遍历输出 vector<vector<string>> 的方法。希望对你有所帮助。
阅读全文