C++ multimap 用法总结 例子
#include <map>
#include <string>
#include <iostream>
using namespace std; int main()
{ ///1. 初始化 multimap<int, string, greater<int>> mapStudent; multimap<int, string>::iterator iter, beg, end; ///2. 添加元素 ///multimap不支持下标操作 mapStudent.insert(pair<int, string>(0, "student_one_1")); mapStudent.insert(pair<int, string>(0, "student_one_2"));///一对多 mapStudent.insert(pair<int, string>(0, "student_one_3"));///一对多mapStudent.insert(pair<int, string>(1, "student_two")); mapStudent.insert(pair<int, string>(5, "Fear Kubrick")); mapStudent.insert(pair<int, string>(2, "Akemi Homura")); mapStudent.insert(pair<int, string>(-1, "Eren Jaeger")); mapStudent.insert(pair<int, string>(99, "lin")); cout << "总数:" << mapStudent.size() << endl; cout << endl; ///3. 遍历 for (iter = mapStudent.begin(); iter != mapStudent.end(); iter++) cout << iter->first << " " << iter->second << endl; cout << endl; ///4. 单键查询与范围查询 ///单键查询 int count = mapStudent.count(0); iter = mapStudent.find(0); for (int i = 0; i < count; i++, iter++) cout << iter->first << " " << iter->second << endl; cout << endl; ///5. 删除 iter = mapStudent.find(1); mapStudent.erase(iter); cout << "总数:" << mapStudent.size() << endl; for (iter = mapStudent.begin(); iter != mapStudent.end(); iter++) cout << iter->first << " " << iter->second << endl; cout << endl; ///6. 删除多个相同key中的特定一个int count2 = mapStudent.count(0); iter = mapStudent.find(0); for (int i = 0; i < count2; i++, iter++){if(iter->first == 0 && iter->second == "student_one_2"){mapStudent.erase(iter);}}cout << "总数:" << mapStudent.size() << endl; for (iter = mapStudent.begin(); iter != mapStudent.end(); iter++) cout << iter->first << " " << iter->second << endl; cout << endl; ///7. 判空与清空 if (!mapStudent.empty()){mapStudent.clear(); }}
倒序添加std::greater<int>
C++ STL 练手(multimap的使用) - 简书
关注工种号:微程序学堂
C++ multimap 用法总结 例子相关推荐
- C++ STL容器 —— map/multimap 用法详解
C++ STL容器 -- map/multimap 用法详解 写在前面:近期正在学习C++的STL容器,因此在这里做一下日志记录,主要介绍一些容器基本成员函数的用法, 配上实际用例,并不涉及原理.但别 ...
- QSettings 用法(例子)
QSettings 用法(例子) 需求分析 日常使用中,程序重新启动的时候,希望记住软件上次使用关闭之前的一些状态. QSettings能记住软件的信息,并保存在操作系统的注册表中,比如windows ...
- linux GDB 简单用法以及例子
首先GDB是类unix系统下一个优秀的调试工具, 当然作为debug代码的工具, 肯定没有IDE来的直观了. 不过, 命令行自然有命令行的有点, 当你无法是使用IDE时, gdb有时会帮上 ...
- multimap 的使用例子
项目中需要采用一对多的映射关系,原来一直没有用过 multimap,学习了一下,感觉比想象中的容易,一个小例子,演示一下multimap 的使用. #include <map> #incl ...
- torch.where()的用法以及例子
1.用法 torch.where()函数的作用是按照一定的规则合并两个tensor类型. torch.where(condition,a,b)其中 输入参数condition:条件限制,如果满足条件, ...
- pytorch torch.sort()的用法以及例子
1.作用 对tensor中元素排序 2.用法 dim = -1,按照行排序,dim= 1按照列排序,descending=True,则递减排序,否则递增 3.例子 按照行排序 logits = tor ...
- Objective-C学习笔记--NSLog用法及例子
NSLog的格式如下所示: %@ 对象 %d, %i 整数 %u 无符整形 %f 浮点/双字 %x, %X 二进制整数 %o 八进制整数 %zu size_t %p 指针 %e 浮点/双字 ( ...
- map/multimap用法详解
multimap 类 标准模板库多重映射类用于存储和检索集合中的数据,此集合中的每个元素均为包含数据值和排序键的元素对. 键值不需要唯一,用于自动排序数据. 可以直接更改多重映射中的元素值,但不能直接 ...
- 关于JavaScript中cookie的用法的例子
最近做项目中牵扯到要写一些cookie的例子,发现在自己在js方面还有很多的不足,然需要努力: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...
- C++---map/multimap用法介绍
map C++ STL中封装的一种关联式容器,里面存储的是键值对类型,在数据查询中效率较高. 什么是键值对 键值对是一种一一对应的关系,<key,value>结构,第一个为关键字,第二个为 ...
最新文章
- 块存储、文件存储、对象存储这三者和分布式文件存储系统的本质区别
- Vue Iview Tree插件的无限层
- Eclipse主题更换方法
- AngularJS相关网站存档
- doxygen问题集锦
- hive 去重 字符串_hive函数
- [剑指offer]面试题第[53-1]题[JAVA][在排序数组中查找数字-1][二分法][暴力法]
- aix 查看防火墙状态_Linux 7.x 防火墙amp;端口
- 2013汇总计算 广联达gcl_广联达图形算量GCL2013整体操作流程图文教程详解
- mybatis Table book.t_abmin not find
- python 服务端判断客户端异常断开
- 2017.5.12PM
- java do while 循环语句_Java do while循环语句用法
- 计算机能力参考范文,信息技术能力论文,关于关于中学计算机教学的若干相关参考文献资料-免费论文范文...
- 谷粒学院day9关于章节小节修改后无法添加的bug记录
- Java 首字母大写高效方法
- java 异常国际化_基于springboot实现http响应异常信息国际化
- 【原创】2009年8月25日老谷项目管理MSN群专题—敏捷生态
- ifconfig安装
- 2005计算机885编程题
热门文章
- Unicode、UTF-8、UTF-16之间的关系
- 小弟浅谈asp.net页面生成周期---上
- 虚拟机vmware硬盘扩容方法
- 空悬指针和野指针(Dangling pointer and wild pointer)
- 错误与异常_1-5选择题
- iOS 最新版 CocoaPods 的安装流程介绍
- PHP导出数据库数据字典脚本
- asp.net读写XML小结
- 【OpenGL】glFinish()和glFlush()函数详解
- 电子档案管理系统java,电子政务档案管理系统 [Java/JSP] struts+hibernate+spring-DZZW - CodeBus...