C++入门之unordered_map
1.介绍
unordered_map是c++语言STL库中一个比较重要的容器,不能自动排序,这一容器是根据哈希表这一数据结构设计而成的,能够极大地提升数据搜索、插入和删除操作的时间效率。
2.头文件
#include<unordered_map>
3.定义
unordered_map<第一变量类型,第二变量类型> 变量名;
例如:unordered_map<string,int> umap;
4.初始化
unordered_map<string,int> umap;
umap["a1"]=2;
umap["a3"]=4;
5.涉及到的函数
查找:
umap.find(查找值)!=umap.end(); //表示存在该值
umap.count(查找值)!=0;
插入:
法一:直接插入法 ,类似于4初始化里面的写法。
法二:umap.insert( make_pair("e",7) );
umap.insert( pair<string, int>("insert", 1 ));
umap.insert( unordered_map<string, int>::value_type("o",3) );
判断是否为空:
umap.empty();//简单理解为,空为真,非空为假
遍历:
unordered_map<string,int>::iterator i;
for (i=umap.begin();i!=umap.end();i++)
cout<<i->first<<" "<<i->second<<endl;
删除:
auto n = umap.erase(key值) //如果没有找到,n=0;
C++入门之unordered_map的更多相关文章
- Efficient&Elegant:Java程序员入门Cpp
最近项目急需C++ 的知识结构,虽说我有过快速学习很多新语言的经验,但对于C++ 老特工我还需保持敬畏(内容太多),本文会从一个Java程序员的角度,制定高效学习路线快速入门C++ . Java是为了 ...
- 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)
注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...
- leetcode 入门第一题 4ms? 8ms? Two Sum
今天开启leetcode 入门第一题 题意很简单,就是一个数组中求取两数之和等于目标数的一对儿下标 1.暴力 n^2 两个for循环遍历 用时0.1s 开外 代码就不用写了 2.二分 nlogn 我们 ...
- 学习笔记之C++入门到精通(名师教学·手把手教会)【职坐标】_腾讯课堂
C++入门到精通(名师教学·手把手教会)[职坐标]_腾讯课堂 https://ke.qq.com/course/101465#term_id=100105503 https://github.com/ ...
- 数论入门2——gcd,lcm,exGCD,欧拉定理,乘法逆元,(ex)CRT,(ex)BSGS,(ex)Lucas,原根,Miller-Rabin,Pollard-Rho
数论入门2 另一种类型的数论... GCD,LCM 定义\(gcd(a,b)\)为a和b的最大公约数,\(lcm(a,b)\)为a和b的最小公倍数,则有: 将a和b分解质因数为\(a=p1^{a1}p ...
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
随机推荐
- Python自动发邮件(QQ为例)
import smtplib from email.mime.text import MIMEText from email.header import Header from email.mime. ...
- [MySQL-1]排他锁、共享锁、意向锁、更新锁、乐观锁、悲观锁和常用的几个MYSQL存储引擎
- flutter 图片加载缓存以及圆角的实现
使用最多的图片缓存组建库cached_network_image 地址:cached_network_image 配置: dependencies: cached_network_image: ^2. ...
- Timer VS DispatcherTimer
Timer是在ThreadPool线程池中执行的,每当计时器到期时,就会创建一个线程来执行事件处理程序.这种实现方式可能会导致一些问题,例如计时器事件处理程序可能会与主线程竞争资源,从而导致性能问题. ...
- git 问题解决
1. fatal: the remote end hung up unexpectedly git config --global http.postBuffer 104857600 其他方案: gi ...
- pytest设计项目结构
api目录封装所有的接口 testcases目录写所有的测试用例.conftest全局登录前置操作 data目录测试数据 common或者utils目录.存放公共模块比如读取yml文件.连接数据库.所 ...
- 没有可用软件包 iostat。
说明: iostat 主要用于监控系统设备的IO负载情况,根据这个可以看出当前系统的写入量和读取量,CPU负载和磁盘负载. iostat 命令的输出结果包含了很多信息,以下是一些常见的统计指标的解释: ...
- wpf DataGrid相关总结
1.去掉外边蓝框,设置BorderThickness="0"
- VIM的撤销与恢复设置行数
vim撤销操作:u vim恢复操作:ctrl+r 设置行数: :set nu
- sql server 与mysql差异(innodb)
MySQL SQL SERVER CHAR_LENGTH(str) LEN(character_expression) CONCAT(str1,str2,...) str1+str2 INSERT(s ...