vector嵌套map
时间: 2023-06-21 10:19:05 浏览: 82
可以实现嵌套,例如:
```c++
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main()
{
vector<map<int, string>> vec_map;
map<int, string> map1;
map1[1] = "apple";
map1[2] = "banana";
vec_map.push_back(map1);
map<int, string> map2;
map2[1] = "cat";
map2[2] = "dog";
vec_map.push_back(map2);
for (auto maps : vec_map) {
for (auto [key, value] : maps) {
cout << key << " " << value << endl;
}
}
return 0;
}
```
输出结果为:
```
1 apple
2 banana
1 cat
2 dog
```
其中,`vector<map<int, string>>`表示一个存储`map<int, string>`类型的向量。我们可以通过`push_back`函数将`map`类型的元素添加到向量中。最后,使用`for`循环遍历向量和`map`类型的元素,并输出其中的键值对。
相关问题
vector嵌套map并定义大小
可以通过以下方式定义指定大小的vector嵌套map:
```c++
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int main()
{
vector<map<int, string>> vec_map(2); // 定义大小为2的vector,每个元素都是一个map<int, string>类型
vec_map[0][1] = "apple";
vec_map[0][2] = "banana";
vec_map[1][1] = "cat";
vec_map[1][2] = "dog";
for (auto maps : vec_map) {
for (auto [key, value] : maps) {
cout << key << " " << value << endl;
}
}
return 0;
}
```
输出结果同样为:
```
1 apple
2 banana
1 cat
2 dog
```
其中,`vector<map<int, string>> vec_map(2)`表示定义了大小为2的vector,每个元素都是一个空的`map<int, string>`类型。我们可以通过下标的方式访问vector中的元素,并使用下标的方式访问map中的元素进行赋值。最后,使用`for`循环遍历向量和`map`类型的元素,并输出其中的键值对。
map vector嵌套输出vector
可以使用嵌套的循环来输出一个嵌套的 vector,例如:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<vector<int>> map = {{1,2,3}, {4,5,6}, {7,8,9}};
for(int i=0; i<map.size(); i++) {
for(int j=0; j<map[i].size(); j++) {
cout << map[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
这个例子中,我们定义了一个嵌套的 vector `map`,其中包含了三个包含三个整数的 vector。然后我们使用两个循环来输出这个嵌套的 vector 中的每个元素。第一个循环遍历每个外层 vector,第二个循环遍历每个内层 vector 中的元素,并将其输出到屏幕上。
阅读全文