将两个STL映射合并为一个的方法是使用循环遍历两个映射,将其中一个映射的键值对逐个插入到另一个映射中。对于map<char, string>和map<string, int>的合并,可以按照以下步骤进行:
下面是一个示例代码:
#include <iostream>
#include <map>
#include <string>
int main() {
std::map<char, std::string> map1;
map1.insert(std::make_pair('a', "apple"));
map1.insert(std::make_pair('b', "banana"));
std::map<std::string, int> map2;
map2.insert(std::make_pair("apple", 1));
map2.insert(std::make_pair("banana", 2));
std::map<char, std::map<std::string, int>> mergedMap;
// 合并map1到mergedMap
for (const auto& pair : map1) {
mergedMap[pair.first][pair.second] = 0;
}
// 合并map2到mergedMap
for (const auto& pair : map2) {
mergedMap[pair.second.first][pair.first] = pair.second.second;
}
// 输出合并后的结果
for (const auto& pair : mergedMap) {
std::cout << pair.first << ": ";
for (const auto& innerPair : pair.second) {
std::cout << innerPair.first << " - " << innerPair.second << ", ";
}
std::cout << std::endl;
}
return 0;
}
这段代码将map<char, string>和map<string, int>合并为map<char, map<string, int>>,并输出合并后的结果。在实际应用中,可以根据具体需求进行适当的修改和优化。
腾讯云相关产品和产品介绍链接地址:
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云