c++ 2维vector遍历
时间: 2023-11-14 16:10:49 浏览: 151
遍历C++中的二维vector可以使用两个嵌套的for循环,如下所示:
```
vector<vector<int>> vec;
// 初始化vec
vec.push_back({1, 2, 3});
vec.push_back({4, 5, 6});
vec.push_back({7, 8, 9});
// 遍历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 `vec`,并初始化了它。然后使用两个嵌套的for循环遍历了整个二维vector,并输出了每个元素的值。
需要注意的是,内层循环中的 `vec[i].size()` 表示第i行的元素个数,因为每一行的元素个数可能不同,所以需要使用这种方式来获取每一行的元素个数。
相关问题
vector二维数组遍历
vector是C++标准库中的一个容器,可以用来存储不定长度的数组。二维数组可以通过vector嵌套vector的方式来表示。遍历二维数组可以使用两层循环来实现,外层循环遍历行,内层循环遍历列。
下面是一个示例代码,演示了如何遍历一个二维vector数组:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<std::vector<int>> matrix = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 遍历二维数组
for (int i = 0; i < matrix.size(); i++) {
for (int j = 0; j < matrix[i].size(); j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
return 0;
}
```
输出结果为:
```
1 2 3
4 5 6
7 8 9
```
c++ 二维vector转一维
在C++中,可以使用以下方法将二维vector转换为一维vector:
```cpp
#include <iostream>
#include <vector>
int main() {
// 创建一个二维vector
std::vector<std::vector<int>> twoDVector = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
// 将二维vector转换为一维vector
std::vector<int> oneDVector;
for (const auto& row : twoDVector) {
oneDVector.insert(oneDVector.end(), row.begin(), row.end());
}
// 打印转换后的一维vector
for (const auto& num : oneDVector) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
上述代码中,我们首先创建了一个二维vector `twoDVector`,然后使用一个循环遍历二维vector的每一行,并将每个元素插入到一维vector `oneDVector` 中。最后,我们打印出转换后的一维vector。
阅读全文