multiMap遍历方法
来源:互联网 发布:软件项目经理面试 编辑:程序博客网 时间:2024/06/06 01:51
multimap是map升级版,仍然是key-value,但这个key允许重复
代码来源:http://www.cnblogs.com/dongsheng/archive/2013/09/10/3311594.html
/* multimap中的三种遍历方法 multimap中如果没有查找到相应元素,则返回的迭代器是依据该元素的排列顺序该键应该插入的位置 如果找不到,则方法一和方法二返回的两个迭代器应该相等*/#include <iostream>#include <map>#include <string>#include <utility>using namespace std;int main(){ multimap<string, string> mulMap; mulMap.insert(make_pair("鲁迅", "朝花夕拾")); mulMap.insert(make_pair("鲁迅", "阿Q正传")); mulMap.insert(make_pair("鲁迅", "野草")); mulMap.insert(make_pair("罗贯中", "三国演义")); mulMap.insert(make_pair("罗贯中", "隋唐志传")); mulMap.insert(make_pair("琼瑶", "还珠格格")); mulMap.insert(make_pair("琼瑶", "情深深雨蒙蒙")); typedef multimap<string, string>::iterator multiMapItor; //方法一:推荐 string author("鲁迅"); cout << author << "的书籍有:" << endl; pair<multiMapItor, multiMapItor> pos = mulMap.equal_range(author); while(pos.first != pos.second) { cout << pos.first->second << endl; ++pos.first; } cout << endl; //方法二: author.assign("罗贯中"); cout << author << "的书籍有:" << endl; multiMapItor beg = mulMap.lower_bound(author); multiMapItor end = mulMap.upper_bound(author); while(beg != end) { cout << beg->second << endl; ++beg; } cout << endl; //方法三:不推荐 author.assign("琼瑶"); cout << author << "的书籍有:" << endl; typedef multimap<string, string>::size_type sz_type; sz_type entries = mulMap.count(author); multiMapItor itor = mulMap.find(author); for(sz_type cnt = 0; cnt != entries; ++cnt) cout << (itor++)->second << endl; system("pause"); return 0;}
阅读全文
0 0
- multiMap遍历方法
- multiMap遍历方法
- multimap 四种遍历方法
- multimap 遍历和删除
- 对multimap作key遍历
- C++ multimap 的插入,遍历,删除
- 关于Multimap的遍历和删除
- multimap
- multimap
- Multimap
- multimap
- multimap
- multimap
- multimap
- multimap
- multimap
- multimap
- multimap使用lower_bound、 upper_bound、 equal_range进行特定key的遍历
- 指针强制转换and字节序导致的问题
- EngineerCMS—基于beego框架的工程师知识管理系统—数据库自动备份
- PuTTY (5) SSH VS Telnet
- Teleport Ultra/Teleport Pro的冗余代码批量清理方法
- UIWebView 页面处理
- multiMap遍历方法
- win8,anaconda3 python3.6,安装tensorflow,亲测有效
- Sublime Text 安装Vue 语法高亮插件Vue Syntax Hightlight
- Unity3D基础篇----Shader学习笔记系列
- mybatis二级缓存实现--protostuff序列化
- Ubuntu下搭建和卸载svn服务器
- CountDownTimer
- javascript链接mysql数据库实例
- springmvc自定义注解拦截器方式实现注解功能拦截器的配置