博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
比map更强大的multimap
阅读量:6786 次
发布时间:2019-06-26

本文共 1182 字,大约阅读时间需要 3 分钟。

#include <iostream>

#include <string>
#include <map>
using namespace std;
int i;
int main()
{multimap <char ,int >m;

multimap <char ,int >::iterator kan,kan1,it;

  m.insert(pair<char, int>('a', 1));

  m.insert(pair<char, int>('a', 2));
  m.insert(pair<char, int>('a', 3));
m.insert(pair<char, int>('b', 4));
m.insert(pair<char, int>('c', 5));

//multimap::insert()成员函数返回指向新插入元素的迭代指针,也就是 iterator(multimap::insert()总是能执行成功)。但是 map::insert() 返回 pair<iterator, bool>,此处 bool 值表示插入操作是否成功。

  cout<< m.count('a') << endl;//count返回的是数量,而map里面返回的时1或0;

 pair <std::multimap<char,int>::iterator, std::multimap<char,int>::iterator> ret;
    ret = m.equal_range('a');
    for (kan=ret.first; kan!=ret.second; ++kan)
      std::cout << ' ' << kan->second;
    std::cout << '\n';

kan=m.find('a');//find(k) 返回指向第一个与键 k 匹配的 pair 的迭代指针,这就是说,当你想要检查是否存在至少一个与该键关联的值时,或者只需第一个匹配时,这个函数最有用。

kan1=m.find('c');
for(it=kan;it!=kan1;it++)
cout<<it->second<<" ";

 

 

cout<<endl;

kan = m.lower_bound ('a');
 kan1 = m.upper_bound ('a');
for(it=kan;it!=kan1;it++)
cout<<it->second<<" ";
// lower_bound() 和 upper_bound():lower_bound(k) 查找第一个与键 k 关联的值,而 upper_bound(k) 是查找第一个键值比 k 大的元素。

return 0;

}

转载于:https://www.cnblogs.com/lengxia/p/4387824.html

你可能感兴趣的文章
DevExpress v17.2新版亮点——Data Access
查看>>
Java Script 第七节课 Java Script的逻辑运算符的例子
查看>>
CSS 3 伪类选择器
查看>>
swfit学习函数
查看>>
UML状态机
查看>>
Java过滤器,SpringMVC拦截器之间的一顺序点关系
查看>>
决心书
查看>>
linux系统管理之存储管理
查看>>
组播RPF 逆向路径转发 实验原理
查看>>
Centos 定时重启 Tomcat
查看>>
java i++
查看>>
linux运维基础篇 unit10
查看>>
linux运维基础篇 unit12
查看>>
俯身倾耳以请
查看>>
程序猿们_你是从头学起_还是半路出家的
查看>>
关于缓存的基础概念
查看>>
智能合约语言 Solidity 教程系列8 - Solidity API
查看>>
机器学习、深度学习、和AI算法可以在网络安全中做什么?
查看>>
JAVA 基础部分易混淆问题总结
查看>>
优化linux的内核来提高nginx并发
查看>>