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迭代器所指的元素,返回下一个元素的 ...
随机推荐
- ARTS Week 15
Feb 3, 2020 ~ Feb 9, 2020 Algorithm Problem 172.Factorial Trailing Zeroes(阶乘末尾的0) 题目链接 题目描述:给定一个整数n, ...
- pytorch之 batch_train
import torch import torch.utils.data as Data torch.manual_seed(1) # reproducible BATCH_SIZE = 5 # BA ...
- 怎么用wait、notify巧妙的设计一个Future模式?
我们知道多线程可以实现同时执行多个任务(只是看起来是同时,其实是CPU的时间片切换特别快我们没感觉而已). 现在假设一个做饭的场景,你没有厨具也没有食材.你可以去网上买一个厨具,但是这段时间,你不需要 ...
- redis系列-14点的灵异事件
概述 项目组每天14点都会遭遇惊魂时刻.一条条告警短信把工程师从午后小憩中拉回现实.之后问题又神秘消失.是PM喊你上工了?还是服务器给你开玩笑?下面请看工程师如何一步一步揪出真凶,解决问题. 如果不想 ...
- GNU make doc - 6.6 追加变量值
有时我们需要对已经定义过的变量进行追加,可以使用+=进行这一操作,就像下面这样 objects += another.o 该语句取objects变量的值,并在其后追加another.o(结果会在原变量 ...
- java设计模式学习笔记--开闭原则
基本介绍 1.开闭(ocp)原则时编程中最基础.最重要的设计原则 2.一个软件实体如类.木块和函数应该对扩展开放,对修改关闭.用抽象构建框架,用实现扩展细节.即对提供方开放,对使用方关闭. 3.当软件 ...
- JavaScript的算数,赋值,比较和逻辑运算符
类似a=1+1这样的表达式称为运算符,js的运算符分为算数,赋值,比较和逻辑运算符:常见的算数有:+ - * / %(加减乘除,取模),比方说5/4=4*1+1:5%4=1,js算数顺序:从左往右,先 ...
- AndroidStudio中使用XML和Java代码混合控制UI界面实现QQ相册照片列表页面
场景 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建Androi ...
- Linux nohup不输出日志文件的方法
引用:https://blog.csdn.net/guotao15285007494/article/details/84136234 最近在Linux上部署视频流推送应用时,由于网络不稳定等原因程序 ...
- 架构师成长系列 | 从 2019 到 2020,Apache Dubbo 年度回顾与总结
作者 | 刘军(陆龟)Apache Dubbo PMC 本文整理自架构师成长系列 2 月 18 日直播课程. 关注"阿里巴巴云原生"公众号,回复 "218",即 ...