stdmap c++两个map合并成一个map ,c++多个map的合并_c++ map合并-程序员宅基地

技术标签: java  后端  

两个map合并成一个map,用insert()函数就可以了,看代码:

#include <map>
#include <iostream>
int main()
{
    std::map<int, int> v1 = {
   {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}};
    std::map<int, int> v2 = {                {3, 2}, {4, 2}, {5, 2}, {6, 2}, {7, 2}};
    std::map<int, int> dest1 = v1;

    dest1.insert(v2.begin(), v2.end());

    for (const auto &i : dest1) {
        std::cout << i.first << ':' << i.second << ' ';
    }
    std::cout << '
';
}

结果:
1:1 2:1 3:1 4:1 5:1 6:2 7:2

合并多个map,循环进行即可。

#include <map>
#include <iostream>

int main()
{
    std::map<int, int> v1 = { {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1} };
    std::map<int, int> v2 = {  {4, 2}, {5, 2}, {6, 2}, {7, 2} };
    std::map<int, int> v3 = { {8, 2}, {9, 2}};

    std::map<uint32_t, std::map<int, int>> pp;
    pp.insert({ 1,v1 });
    pp.insert({ 2,v2 });
    pp.insert({ 3,v3 });

    std::map<int, int> dest1 ;
    auto iter = pp.begin();
    for (; iter != pp.end(); ++iter) {
        dest1.insert(iter->second.begin(), iter->second.end());
    }

    for (const auto &i : dest1) {
        std::cout << i.first << ':' << i.second << ' ';
    }
    std::cout << '
';
}
结果:
1:1 2:1 3:1 4:1 5:1 6:2 7:2 8:2 9:2

如果map中有重复的key,并且想保留多个相同key的键值对,则只需要,将目标map定义为std::multimap 。如下:

#include <map>
#include <iostream>

int main()
{
    std::map<int, int> v1 = {
   {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}};
    std::map<int, int> v2 = {                {3, 2}, {4, 2}, {5, 2}, {6, 2}, {7, 2}};
    std::multimap<int, int> dest1 {v1.begin(), v1.end()};

    dest1.insert(v2.begin(), v2.end());

    for (const auto &i : dest1) {
        std::cout << i.first << ':' << i.second << ' ';
    }
    std::cout << '
';
}

结果:
1:1 2:1 3:1 3:2 4:1 4:2 5:1 5:2 6:2 7:2

其他容器类似。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/web18224617243/article/details/123813330

智能推荐

魅族u20怎么刷Android,魅族魅蓝U20/U10一键Root权限获取+USB驱动安装-程序员宅基地

文章浏览阅读1.5k次。魅族新的手机型号为魅蓝U20发布了,,售价特公布了为千元级别手机,那么meizuU20手机配置如何呢?我们看看吧,,屏幕尺寸为5.5英寸,分辨率为1920*1080高清,系统是基于安卓的Flyme5系统,兼容安卓系统的APK格式文件安装和使用。处理器为HelioP101.8GHz(八核心)摄像头为1300万像素,前置为500万,。可运行内存为2GB,机身存储空间为16GB这个手机目前售价为..._1920*1080手机可以root的

陕西省计算机二级mysql报名_转发教育部考试中心关于全国计算机等级考试(NCRE)体系调整的通知...-程序员宅基地

文章浏览阅读112次。附件全国计算机等级考试调整方案2015年,考试中心组织召开了第六届全国计算机等级考试(NCRE)考委会会议,会议完成NCRE考委会换届选举,并确定了下一步改革目标。在新的历史时期,NCRE将在保持自身特色、稳定发展的基础上进一步考试改革。从2018年3月开始,将实施2018版考试大纲,并按新体系开考各个考试级别。具体调整内容如下:一、考试级别及科目1.一级新增“网络安全素质教育”科目(代码:17)..._二级mysql报名

nuxt使用core-js在ie11下的兼容性问题处理_corejs版本不兼容-程序员宅基地

文章浏览阅读2.2k次。nuxt ie兼容性问题_corejs版本不兼容

微服务与Service Mesh,并蒂花开只待春来-程序员宅基地

文章浏览阅读45次。近些年来,敏捷和自动化运维成为了整体互联网环境发展的主流趋势,而繁杂的系统架构难免显得累赘,微服务架构应运成为了诸多企业的主角。同样,在微服务的推动下,微服务与数据中心内部通信的Service Mesh技术也登上舞台,两大技术并蒂花开,那么属于他们的春天来了吗?在各家企业中这两种技术的应用情况如何呢?为探知这些问题的答案,InfoQ联合Intel举办了两场闭门会,共同邀请了来自蚂蚁金服、网易云、新..._感觉spring cloud对service mesh支付不好,找了一圈打算来用micronaut或quarku

mysql 博客建表语句,MySQL基础学习之大战表操作-程序员宅基地

文章浏览阅读108次。点击上方「蓝字」关注"程序员Bob"每天与你不见不散! 每日一句,送给最珍贵的你:生命中真正重要的不是你遭遇了什么,而是你记住了哪些事,又是如何铭记的。上次小编聊了关于MySQL的库操作,不知小伙伴是否还记得,如果想要熟练掌握,还是自己得多多上机实操啦。传送门:小编将上次SQL的基本操作根据操作对象分为了三类,即:库操作;表操作(字段);数据操作。聊完库操作,小编就可以开始表操作啦~ 表..._博客建表

百度地图发布《2019年春运出行预测报告》,返乡、出行、出游“早知道” ...-程序员宅基地

文章浏览阅读210次。近日,百度地图联合交通运输部科学研究院综合交通大数据应用技术行业重点实验室、 KuWeather、易到用车撰写发布《2019年春运出行预测报告》(以下简称“报告”),对春运期间人口迁徙趋势、交通出行状况及春节出游热点等进行了预测分析,为广大用户奉上一份详尽的“春运出行攻略”。 据雷锋网(公众号:雷锋网)了解,此次百度地图、交通运输部科学研究院综合交通..._python春运交通出行预测分析

随便推点

Universal-Image-Loader源码阅读(3)-utils/IoUtils_universal_utils-程序员宅基地

文章浏览阅读176次。该类从名字看就是IO工具类。同样类声明为final,构造为private,方法都是static。这些是工具类的标配呀!源码:/** * Provides I/O operations * * @author Sergey Tarasevich (nostra13[at]gmail[dot]com) * @since 1.0.0 */public final _universal_utils

淘宝代购系统;海外代购系统;代购程序,代购系统源码PHP前端源码演示-程序员宅基地

文章浏览阅读549次。本帖只展示部分演示站 需了解更多请移步注册http://console.open.onebound.cn/console/?i=Rookie代购业务近年兴起的一种购物模式,是帮国外客户购买中国商品。主要通过外贸代购模式,把淘宝、天猫等电商平台的全站商品通过API接入到你的网站上,瞬间就可以架设一个有数亿产品的大型网上商城,而且可以把这些中文的商品全部自动翻译成各国语言,能让国外客户看懂,直接在网站上下单,然后网站运营方代为购买再邮寄给客户,收取商品差价以及代购费和运费,利润可观,市场巨大。目前跨境

回溯法:《装载问题》-python实现_装载问题有一批共n个集装箱要装上2艘 python-程序员宅基地

文章浏览阅读3.6k次。有一批共n个集装箱要装上2艘载重量分别为c1和c2的船,其中集装箱i的重量为wi,且。装载问题要求确定是否有一个合理的装载方案可将这些集装箱装上这2艘船。如果有,找出一种装载方案。例如当n=3,c1=c2=50且w=[10,40,40]时,则可以将集装箱1和2装到第一艘轮船上,而将集装箱3装到第二艘轮船上;如果w=[20,40,40],则无法将这3个集装箱都装上轮船。容易证明,如果一个给定装载问题..._装载问题有一批共n个集装箱要装上2艘 python

永久删除计算机文件怎么操作步骤,如何彻底删除电脑中的文件 永久删除文件方法...-程序员宅基地

文章浏览阅读1.5w次。可能大家还不知道,windows系统是不会把文件删除的,就算我们清空回收站或格式化,文件也还是存在的,它只是把文件标记了下,提示系统这个文件所占空间可以写别的数据,所以只要没有其他文件覆盖,原文件就完好如初,可以被许多数据恢复软件恢复。难道我们就没办法彻底删除文件数据吗,当然可以,看了下文你就明白了。1. 创建标题栏一键删除按钮在当今流行的Windows 8.1和Windows 10中,我们可以通..._彻底永久删除电脑数据

模板缓存ThinkPHP中的模板引擎和视图层-程序员宅基地

文章浏览阅读176次。每日一贴,今天的内容关键字为模板缓存 1.经常使用的模板引擎语法: (1)变量输出 {变量名} 还可以应用系统变量: {$Thinkphp.get.变量名} 系统变量分为几类: 1,包含 sessioncookie server get post $Think.server.REMOTE_ADDR {$Th..._thinkphp模板引擎缓存

适配新路由3(D2)的LEDE/OpenWrt固件-程序员宅基地

文章浏览阅读5k次。使用MediaTek系列的芯片方案Y1(R6830):   MT7620A + MT7612EN(5G 866M) + winbond 25Q128FVFG + winbond W971GG6KB-25Y1S(R6850):   MT7620A + MT7612EN(5G 866M) + winbond 25Q128FVFG + winbond W972GG6JB-25 + RTL8211ED1..._autobuild-lede-d-team_newifi-d2