C++ multimap 的使用
multimap 说明
C++ 中multimap 的主要特点是允许有重复的key 其他的特点和map 类似
multimap 同样也是STL中的模板使用的时候 需要先引入 #include <set>
#include <iostream>
#include <string>
using namespace std;
#include <map>int main()
{// 创建一个空的mapmultimap<int, string> a;// 插入值使用value_typea.insert(map<int, string>::value_type(1, "张三"));a.insert(map<int, string>::value_type(2, "李四"));a.insert(map<int, string>::value_type(3, "王二"));// 插入值使用paira.insert(pair<int, string>(4, "赵括"));a.insert(map<int, string>::value_type(3, "李白")); // 允许key重复,可以插入cout <<"multimap的size:"<< a.size() << endl; // 允许key重复,打印结果为 5// 遍历map map<int, string>::iterator it;for (it = a.begin(); it != a.end(); it++){cout << (*it).first << endl;cout << (*it).second << endl;}
}
打印结果
multimap 方法说明
函数 | 说明 |
begin | 返回指向map头部的迭代器 |
end | 返回指向map末尾的迭代器 |
empty | 判断map是否为空,为空返回true |
size | 返回map中元素的个数 |
operator[] |
访问元素 |
insert | 插入元素 |
clear | 清空map |
swap | 交换两个map |
find | 查找一个元素 |
earse | 删除一个元素 |
rbegin | 返回反向迭代器以反向开始 |
rend | 将反向迭代器返回到反向结束 |
cbegin | 将常量迭代器返回到开头 |
cend | 返回常量迭代器结束 |
crbegin | 返回const_reverse_迭代器以反转开始 |
equal_range | 返回特殊条目的迭代器对 |
lower_bound | 将迭代器返回到下限 |
upper_bound |
将迭代器返回到上限 |
value_comp() | 返回比较元素value的函数 |
注意:没有at 方法了
demo 练习
#include <iostream>
#include <string>
using namespace std;
#include <map>int main()
{// 声明一个setmultimap<int, string> imap;// 获取默认set的sizecout << imap.size() << endl;// 插入值使用value_typeimap.insert(map<int, string>::value_type(1, "张三"));imap.insert(map<int, string>::value_type(2, "李四"));imap.insert(map<int, string>::value_type(3, "王二"));// 插入值使用pairimap.insert(pair<int, string>(4, "赵括"));// 获取map sizecout << imap.size() << endl;// 遍历mapmap<int, string>::iterator it;for (it = imap.begin(); it != imap.end(); it++){cout << (*it).first << endl;cout << (*it).second << endl;}// map 判空if (imap.empty()){cout << "map为空" << endl;}else{cout << "map不为空" << endl;}// 清空mapimap.clear();return 0;
}
C++ multimap 的使用相关推荐
- map multimapc++_C++的Map和Multimap
广州C++培训的小编这一期给大家讲Map和Multimap. 6.6 Maps和Multimaps map和multimap将key/value pair当作元素进行管理.他们可根据key的排序准则自 ...
- STL学习系列九:Map和multimap容器
1.map/multimap的简介 map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对.它提供基于key的快速检索能力. map中key值是唯一的.集合中的元素按一定的顺 ...
- C++_STL——map、multimap、set、multiset
C++_STL--map.multimap.set.multiset 内部都由红黑树实现 这里专栏里其他文章提到的函数(方法)就不会再说 参考:cplusplus 有序哈希表 有序不可重复哈希表(映射 ...
- C++ multimap的用法
定义 类似于map,multimap也是存储两个元素之间的映射关系的容器,不相同的是,multimap的key值可以重复出现.另外和map.set一样,multimap的关键字类型也要具有严格弱序的定 ...
- C++知识点31——使用C++标准库(关联容器multimap及其初始化,赋值,查找,添加,删除与迭代器失效)
关于关联容器map已经在博客https://blog.csdn.net/Master_Cui/article/details/108690877中介绍完了 multimap和map非常类似,容器中的元 ...
- 关于multimap和multiset
1.map没有实现对[]的重载 #include <iostream> #include <map>using namespace std;int main() {multim ...
- Guava API学习之Multimap
相信大家对Java中的Map类及其之类有大致的了解,Map类是以键值对的形式来存储元素(Key->Value),但是熟悉Map的人都知 道,Map中存储的Key是唯一的.什么意思呢?就是假如我们 ...
- stl的set,multiset, map, multimap, deque, list, stack, queue, priority_queue
set实际上是平衡二叉树,需要声明头文件#include<set> Insert:将元素插入集合中 使用前向迭代器对集合中序遍历 使用反向迭代器reverse_iterator可以反向遍历 ...
- C++ multimap 的插入,遍历,删除
#include <iostream> #include <map> #include <string>using namespace std;int main() ...
最新文章
- fbx 转 gltf glb 文件
- phpcms v9 为分类和内容添加伪静态
- B/S模式下如何使软件屏蔽系统热键
- TLS回调函数(1)
- Flux架构小白入门笔记
- 线扫相机 编码器_面阵和线扫工业相机选型
- 小学奥数 7647 余数相同问题 python
- c语言存储学生信息并显示,C语言实现学生信息管理程序
- 浙大 PAT b1009
- HALCON 21.11:深度学习笔记---模型(8)
- windows下vbs脚本添加网络打印机
- 56.Linux/Unix 系统编程手册(下) -- SOCKET 介绍
- 电科 | 传感器及其应用技术
- node安装及环境配置
- 大数据可视化 课堂笔记-1
- .Net Core环境搭建Hangfire项目
- 认知智能三大技术体系之类脑模型简介
- 2018年适合做什么网站?分享几种比较好的网站
- 【工具推荐】2022博客写作工具流指南
- 说说“腰椎间盘突出”的恢复和初步治疗
热门文章
- Alibaba代码规范插件、FindBugs插件安装及详解,IDEA插件安装,代码规范,代码查错,代码格式规范
- php rabbmq教程_RabbitMQ+PHP 教程一(Hello World)
- 【VB】学生信息管理系统1——系统设计怎样开始?
- shell编程_linux
- nn.moduleList 和Sequential由来、用法和实例 —— 写网络模型
- LeetCode简单题之拥有最多糖果的孩子
- 面试高频——JUC并发工具包快速上手(超详细总结)
- SpringBoot整合JDBC、整合Druid数据源详解教程
- Ascend Pytorch算子适配层开发
- 如何使用TensorCores优化卷积