map套map
时间: 2023-06-22 20:23:35 浏览: 114
map 嵌套 map 是一种常见的数据结构,可以用于表示多层级的数据。在 C++ 中,可以使用 STL 中的 map 容器来实现。
例如,我们可以定义一个 map 类型的变量,其中每个键对应的值又是一个 map,示例代码如下:
```c++
#include <iostream>
#include <map>
using namespace std;
int main() {
// 定义一个 map,其中每个键对应的值又是一个 map
map<string, map<string, int>> dict;
// 向 dict 中添加键值对
dict["A"]["a"] = 1;
dict["A"]["b"] = 2;
dict["B"]["a"] = 3;
dict["B"]["b"] = 4;
// 遍历 dict
for (auto it1 = dict.begin(); it1 != dict.end(); ++it1) {
cout << it1->first << ": {" << endl;
for (auto it2 = it1->second.begin(); it2 != it1->second.end(); ++it2) {
cout << " " << it2->first << ": " << it2->second << endl;
}
cout << "}" << endl;
}
return 0;
}
```
输出结果如下:
```
A: {
a: 1
b: 2
}
B: {
a: 3
b: 4
}
```
在这个例子中,我们定义了一个 `map<string, map<string, int>>` 类型的变量 `dict`,其中第一层的键是字符串类型,第二层的键是字符串类型,值是整型。我们向 `dict` 中添加了四个键值对,然后遍历输出了它们。
阅读全文