定义一个 map,关键字是家庭的姓,值是一个 vector,保存家中孩子(们) 的名。编写代码,实现添加新的家庭以及向已有家庭中添加新的孩子。
时间: 2024-02-13 08:06:29 浏览: 202
好的,下面是 C++ 的代码实现:
```c++
#include <iostream>
#include <map>
#include <string>
#include <vector>
using namespace std;
int main() {
map<string, vector<string>> family; // 定义一个 map,关键字是家庭的姓,值是一个 vector,保存家中孩子(们)的名
// 添加新的家庭以及向已有家庭中添加新的孩子
family["张"].push_back("三");
family["张"].push_back("四");
family["李"].push_back("小明");
family["李"].push_back("小红");
// 遍历 map 输出结果
for (auto iter = family.begin(); iter != family.end(); ++iter) {
cout << iter->first << " 家的孩子有:";
for (auto name : iter->second) {
cout << name << " ";
}
cout << endl;
}
return 0;
}
```
以上代码定义了一个 `map`,关键字是家庭的姓,值是一个 `vector`,用来保存每个家庭的孩子们的名字。通过 `family["姓"]` 的方式可以直接获取到该家庭的孩子们的 `vector`,然后再通过 `push_back` 方法向其中添加新的孩子的名字。最后遍历整个 `map`,输出每个家庭的孩子们的名字。
阅读全文