STL-map/multimap 简述
#include <iostream>
#include <cstdio>
#include <map> using namespace std; int main()
{
// map && multimap
// 键值映射容器,一对一,一对多
// 都是红黑变体的平衡二叉树结构 map<int,string> map1; // 插入元素 // insert插入
map1.insert(pair<int,string>(,"ACM"));
map1.insert(make_pair(,"ACMER"));
map1.insert(map<int,string>::value_type(,"WIN")); // 重载运算符赋值
map1[]="I WIN";
// 没有元素时,插入元素,有元素时,重新赋值
// 比较方便的用法 // 遍历也很方便,如果知道值的话
for(int i=;i<=;++i)
{
cout<<map1[i]<<endl;
} cout<<endl;
// 当然,这才是正规的遍历方式
for(map<int,string>::iterator it=map1.begin();it!=map1.end();++it)
{
cout<<(*it).first<<' '<<(*it).second<<endl;
}
cout<<endl; map<int,string>::iterator it=map1.find(); map1.erase(it); for(map<int,string>::iterator it=map1.begin();it!=map1.end();++it)
{
cout<<(*it).first<<' '<<(*it).second<<endl;
}
cout<<endl; map1[]="haha"; map1[]="heihei"; for(map<int,string>::iterator it=map1.begin();it!=map1.end();++it)
{
cout<<(*it).first<<' '<<(*it).second<<endl;
}
cout<<endl; // 查找小于等于3的键
it=map1.equal_range().first; map1.erase(it);
for(map<int,string>::iterator it=map1.begin();it!=map1.end();++it)
{
cout<<(*it).first<<' '<<(*it).second<<endl;
}
cout<<endl; // 查找大于1的键
it=map1.equal_range().second;
map1.erase(it);
for(map<int,string>::iterator it=map1.begin();it!=map1.end();++it)
{
cout<<(*it).first<<' '<<(*it).second<<endl;
}
cout<<endl; // multimap 与 map类似
// count,可以用来计算键有多少个值与之对应 return ;
}
STL-map/multimap 简述的更多相关文章
- 2.9 C++STL map/multimap容器详解
文章目录 2.9.1 引入 2.9.2 代码示例 map案列 multimap案列 2.9.3 代码运行结果 总结 2.9.1 引入 map相对于set区别,map具有键值和实值,所有元素根据键值自动 ...
- STL::map/multimap
map: 默认根据 key 排序(从小到大),能够通过 backet operator(operator [ ]) 来获取元素,内部由二叉搜索树来实现(binary search trees). mu ...
- STL——容器(Map & multimap)的简述与构造
1. map/multimap 的简介 map 是标准的关联式容器,一个 map 里存储的元素是一个键值对序列,叫做 (key,value) 键值对.它提供基于 key 快速检索数据的能力. map ...
- STL Map和multimap 容器
STL Map和multimap 容器 map/multimap的简介 map是标准的关联式容器,一个map是一个键值对序列,即(key,value)对.它提供 基于key的快速检索能力. ...
- STL中的map/multimap小结
(1)使用map/multimap之前必须包含头文件<map>:#include<map> 并且和所有的关联式容器一样,map/multimap通常以平衡二叉树来完成 (2)n ...
- STL:map/multimap用法详解
map/multimap 使用map/multimap之前要加入头文件#include<map>,map和multimap将key/value当作元素,进行管理.它们可根据key的排序准则 ...
- iBinary C++STL模板库关联容器之map/multimap
目录 一丶关联容器map/multimap 容器 二丶代码例子 1.map的三种插入数据的方法 3.map集合的遍历 4.验证map集合数据是否插入成功 5.map数据的查找 6.Map集合删除元素以 ...
- STL之六:map/multimap用法详解
转载于:http://blog.csdn.net/longshengguoji/article/details/8547007 map/multimap 使用map/multimap之前要加入头文件# ...
- STL之map&multimap使用简介
map 1.insert 第一种:用insert函数插入pair数据 #include <map> #include <string> #include <iostrea ...
- STL——容器(Map & multimap)的删除
Map & multimap 的删除 map.clear(); //删除所有元素 map.erase(pos); //删除pos迭代器所指的元素,返回下一个元素的 ...
随机推荐
- Goland2019.3.2永久破解
2019.11.28 jetbrains公司发布了Go的最强编辑器GoLand 2019.3.本次更新软件消耗更少的CPU和更快的性能,增强了对Go Modules的支持,添加了一组新的快速修复程序, ...
- 《Python学习手册 第五版》 -第1章 问答环节
第一章的主要内容是解疑答惑的,这个部分也是很适合初学者的,回答了大部分初学者所关注的问题 1.为什么使用Python,或者说Python的优点, 作者是分为两个部分来谈的,人们使用中的经验总结以及Py ...
- (三)maven创建部署javaweb
http://how2j.cn/k/idea/idea-maven-web/1356.html#nowhere 这个网站讲的很详细了,下载很慢的话按照他的提示配置阿里云即可,很快 另外可能会出现各种j ...
- 拖延症?贪玩?来试试"百万金币时间管理法"
中午吃完饭就想休息? 一到假期就起不来? 总是想玩游戏? 究其原因是因为我们没有深刻意识到时间的价值. 这点在大气爱智慧的视频:懂这个道理,保证让你快速自律起来!拯救拖延症,更好的戒掉不良习惯中有讲到 ...
- android 基础学习笔记2
1.容器布局 一.线性布局 (LineaLayout) 方向:orientation =vertical / horizontal 重力(对齐) :gravity =bottom/right/left ...
- .NET Core之单元测试(一):入门
目录 什么是单元测试 .NET Core中的测试框架 一个最基础的单元测试 我们再看看上面的代码 什么是单元测试 单元测试是对软件中的最小可测试单元进行检查和验证.对于单元测试,要保证测试粒度足够小, ...
- Flutter报错 Waiting for another flutter command to release the startup lock...
Waiting for another flutter command to release the startup lock… 异常解决 平时我们在开发flutter过程中,在执行flutter p ...
- javascript canvas全部API
HTMLCanvasElement//canvas elem对象 属性 height//高 width//宽 方法 getContext()//获取<canvas>相关的可绘制的上下文 t ...
- ubuntu下安装secureCRT(含破解方法)
一.下载SecureCRT安装文件及破解文件: 链接: https://pan.baidu.com/s/1A7opflFKSUi13PkzVCnhDQ 密码: gbf5 二.下载完成安装文件后安装Se ...
- Centos7 LVM扩容实例
Centos7 lvm 扩容与以往版本有所不同 1.插入硬盘,我是在虚拟机上做的测试 直接添加一块5G的硬盘 2.系统读取硬盘信息 # echo "- - -" ...