目录

  • 1 insert()
  • 2 equal_range()

multimap表示有序的键值对,它在 map的基础上多了:允许重复的key,甚至是重复的(key:value)。

头文件为#include map

1 insert()

插入操作为:

a.insert({key,val}) //插入一个键值对
a.insert({{key1, val1},{key2, val2}}) //插入多个键值对

实例代码为,

#include <iostream>
#include <map>using namespace std;int main() {multimap<int, int> m;//m[1] = 1;这样的赋值方式对于multimap是不被允许的,会报错m.insert({5,5});m.insert({1,1});m.insert({1,1});m.insert({1,2});m.insert({2,2});m.insert({3,3});m.insert({4,4});m.insert({{6,6},{7,7}});for (auto [key, val] : m) {cout << "key = " << key << ", val = " << val << endl;}return 0;
}

代码输出为:

key = 1, val = 1
key = 1, val = 1
key = 1, val = 2
key = 2, val = 2
key = 3, val = 3
key = 4, val = 4
key = 5, val = 5
key = 6, val = 6
key = 7, val = 7

2 equal_range()

auto range = a.equal_range(key); //返回哈希表中键等于key的迭代器pair
//即std::pair<const_iterator,const_iterator>

代码如下,

#include <iostream>
#include <map>using namespace std;int main() {multimap<char, int> m;m.insert({{'a', 1}, {'b', 2}, {'b', 3}, {'b', 4}, {'c', 5}});auto range = m.equal_range('b');for (auto it = range.first; it != range.second; it++) {cout << "key = " << it->first << ", value = " << it->second << endl;}return 0;
}

程序输出为,

key = b, value = 2
key = b, value = 3
key = b, value = 4

更多信息:待更新。。。

C++ multimap实践相关推荐

  1. 亿级工具类APP头条数据聚合优化实践

    亿级工具类APP头条数据聚合优化实践 业务介绍 中华万年历的头条数据是根据推荐算法聚合而成的数据,包括ALS算法数据.用户画像数据.时效数据.非时效数据.定投数据.惊喜数据.频道数据.热榜数据.用户相 ...

  2. 红黑树探险:从理论到实践,一站式掌握C++红黑树

    红黑树揭秘:从理论到实践,一站式掌握C++红黑树 引言 为什么需要了解红黑树? 红黑树在现代C++编程中的应用场景 树与平衡二叉搜索树 树的基本概念: 二叉搜索树的定义与性质: 平衡二叉搜索树的特点与 ...

  3. 【编程实践】Google Guava 极简教程

    前言 Guava 工程包含了若干被 Google 的 Java 项目广泛依赖 的核心库,我们希望通过此文档为 Guava 中最流行和最强大的功能,提供更具可读性和解释性的说明. 适用人群 本教程是基础 ...

  4. 【C++】STL map 与 multimap 用法和区别

    参考: https://blog.csdn.net/shuzfan/article/details/53115922 https://www.nhooo.com/cpp/cpp-map-swap-fu ...

  5. 七种轮询介绍(后附实践链接)

    我有一个朋友- 做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里我帮他整理了一下几种方案,并简单做了实现. 案例下 ...

  6. Golang TDD实践报告:快速排序Quick Sort

    Golang TDD实践报告:快速排序Quick Sort [阅读时间:约5分钟] 0.项目需求 1.编写符合项目输入输出的一个测试 2.尝试运行测试 3.先使用最少的代码来让失败的测试先跑起来 4. ...

  7. 编写高性能Java代码的最佳实践

    编写高性能Java代码的最佳实践 摘要:本文首先介绍了负载测试.基于APM工具的应用程序和服务器监控,随后介绍了编写高性能Java代码的一些最佳实践.最后研究了JVM特定的调优技巧.数据库端的优化和架 ...

  8. 【K8S实践】关于Kubernetes Dashboard的实践学习

    前言: 陆陆续续,学k8s一个月了,从开始看docker容器书,视频,怎么都无法上手:到后来闷着头实践地傻瓜式操作:到今天整个完全串通好!感觉到学习也是一段深刻的成长经历! 过程: 这个过程中使用的工 ...

  9. 提高期——SLA实践指导秘籍

    前言: 第二遍看提高期的SLA文档,开始提高期的第一个项目. 感受: 这个秘籍和自己看的<番茄工作法图解>非常像,写作风格和内容量上. 从大脑的功能分析,为什么要这样做.我们的学习方法符合 ...

最新文章

  1. 揭秘百度微服务监控:百度游戏服务监控的演进
  2. 开发者们的迷茫期,该怎么看破?
  3. Realm Mobile Platform添加水平可扩展性,支持遗留数据源和复制
  4. React Native JSBundle拆包之原理篇
  5. 用python画漂亮图片-python结合G2绘制精美图形
  6. tableau必知必会之如何将 Tableau Server 从 Windows 迁移到 Linux 的方法
  7. ViewPager实现引导界面以及进入下一个activity解决办法
  8. 搜狐视频怎么下载到电脑
  9. 网页跳转-重定向-102.课时102.【Django视图高级】重定向详解(Av61533158,P102)
  10. localhost,127.0.0.1,本机IP,三者的区别
  11. A股收盘:深证区块链50指数跌1.75%,*ST群兴、亚联发展涨停
  12. MATLAB-阶乘运算
  13. python 安装PyQt4
  14. 【深度学习】《动手学深度学习》环境配置
  15. ajax 上传图片进度条,ajax实现图片上传与进度条
  16. 当我跑步时我在想什么读后感
  17. 第六讲 复数和复指数
  18. Linux文件编辑命令详细整理
  19. asp.net新闻采集(wyz)
  20. 【编程游戏】贺岁霓虹灯。(参观366楼xiuyouxu的霓虹灯)

热门文章

  1. mysql 同表子查询_MySQL 表子查询
  2. CGD: Multi-View Clustering via Cross-View Graph Diffusion
  3. 把财务分析明白的BI软件有哪些?
  4. 图片设置宽高,图片变模糊问题
  5. java graphicsenvironment_如何确定GraphicsEnvironment是否存在
  6. LR敏捷软件平台v7开发示例,功能设计模块化,UI特色明显(长文)
  7. 3路DI计数器,2路PWM输出,Modbus TCP协议,WiFi模块WJ165
  8. 在树莓派上编译和使用OpenDDS
  9. 程序员32岁前跳槽大多数看薪资,那里福利好去那里,32岁后请慎重
  10. 互联网图片文字识别 互联网图片识别 彩信识别 彩信图片文字识别