c++嵌套vector
时间: 2023-10-23 09:13:53 浏览: 58
嵌套的vector是指vector中的每个元素也是一个vector类型的对象。要向嵌套的vector中添加元素,需要先创建内层的vector对象,然后将其添加到外层的vector对象中。例如,如果我们有一个嵌套的vector对象M=[[1 2 3], [4 5 6]],我们可以按照以下方式添加元素:
```c++
vector<vector<int>> M; // 外层vector对象M
vector<int> N; // 内层vector对象N
N.push_back(1);
N.push_back(2);
N.push_back(3);
M.push_back(N); // 将N添加到M中
N.clear(); // 清空N中的元素
N.push_back(4);
N.push_back(5);
N.push_back(6);
M.push_back(N); // 将N添加到M中
```
要访问嵌套的vector中的元素,可以使用类似于二维数组的方式访问。例如,要访问M中的第一个vector对象的第一个元素,可以使用M,其值为1。
相关问题
vector嵌套vector用法
嵌套vector主要用于创建二维数组或矩阵的数据结构。引用给出了vector的初始化和嵌套的基础用法。例如,可以使用以下代码创建一个3行4列的矩阵,并初始化每个元素为'\0':
vector<vector<char>> matrix(3, vector<char>(4, '\0'));
引用展示了向嵌套的vector中添加元素的方法。例如,可以使用以下代码向一个名为M的嵌套vector中添加两个内层vector:
vector<vector<int>> M;
vector<int> N1 = {1, 2, 3};
vector<int> N2 = {4, 5, 6};
M.push_back(N1);
M.push_back(N2);
引用提供了访问嵌套vector中元素的示例代码。可以使用迭代器来遍历嵌套vector中的元素。以下是一个示例代码,输出嵌套vector的元素:
vector<vector<char>> vc(3, vector<char>(4, '\0'));
for (auto it = vc.begin(); it != vc.end(); ++it) {
for (auto vit = (*it).begin(); vit != (*it).end(); ++vit) {
cout << *vit << " ";
}
cout << endl;
}
以上是关于vector嵌套vector的基本用法。可以根据实际需求使用嵌套的vector来存储和操作二维数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [vector的嵌套用法](https://blog.csdn.net/qq_43399648/article/details/119207543)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* [C++ 中vector的嵌套使用](https://blog.csdn.net/qq_35027690/article/details/106604422)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
C++如何同时遍历两个vector嵌套vector
可以使用双重循环来遍历两个嵌套的vector,例如:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<vector<int>> v1{{1, 2, 3}, {4, 5, 6}};
vector<vector<int>> v2{{7, 8, 9}, {10, 11, 12}};
for (int i = 0; i < v1.size(); i++) {
for (int j = 0; j < v1[i].size(); j++) {
cout << v1[i][j] << " ";
}
for (int j = 0; j < v2[i].size(); j++) {
cout << v2[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
上面的代码演示了同时遍历两个嵌套的vector,输出结果为:
```
1 2 3 7 8 9
4 5 6 10 11 12
```
注:上面的代码假设两个嵌套的vector的大小相同。如果大小不同需要进行额外的处理。