目录

前言:

1.map的定义:

2.map容器内元素的访问:

3.map常用函数实例解析:

4.map的常见用途:


前言:

map是一种映射,是常用的STL容器。(map可以将任何基本类型(包括STL容器)映射到任何基本类型(包括STL容器))

如需使用,需要加一个map头文件。

1.map的定义:

map<typename1, typename2>mp;

使用map要确定映射前类型(键key)和映射后的类型(值value)。

注意:如果是字符串到整形的映射,必须使用string而不是char数组。

例子:

(1)map<set<int>,string>mp;

2.map容器内元素的访问:

(1)通过下标访问:

比如:

map<char,int>mp;

mp['c']=20;

mp['c']=30;

printf("%d",m['c'])输出的是30;

(2)通过迭代器访问:

定义方式:

map<typename1, typename2>::iterator it;

map迭代器的使用方式和其他STL容器的迭代器不同,因为map的每一对映射都有两个typename,这决定了必须能通过一个it来同时访问键和值。事实上,map可以使用it->first来访问键,使用it->second来访问值。

3.map常用函数实例解析:

(1)find()

find(key)返回键为key的映射的迭代器,时间复杂度为N(logN),N为map中映射的个数。

(2)erase()

erase有两种用法:

第一种:删除单个元素,删除一个区间内的所有元素。

删除单个元素的方法==》mp.erase(it),it为删除的元素的迭代器,时间复杂度为O(1)。

mp.erase(key),key为欲删除的键。时间复杂度为O(logN),N为map内元素的个数。

第二种:删除一个区间内的所有元素。

mp.erase(firse,last)删除[first,last).

时间复杂度O(last-first)

(3)size()

size()用来获得map中映射的对数,时间复杂度为O(1)。

(4)clear()

clear()用来清空map中的所有元素,复杂度为O(N),其中N为map中的元素的个数。

4.map的常见用途:

1.需要建立字符(或字符串)与整数之间映射的题目,使用map可以减少代码量。

2.判断大整数或者其他类型数据是否存在的题目,可以把map当bool数组用。

3.字符串和字符串的映射有时候也会遇到!

map的常用用法详解(新手入门!!!)相关推荐

  1. c语言 append,对C++ string append方法的常用用法详解

    C++ string append()添加文本 使用append()添加文本常用方法: 直接添加另一个完整的字符串: 如str1.append(str2); 添加另一个字符串的某一段子串: 如str1 ...

  2. vue-cli脚手架配置基础文件详解/新手入门必看

    vue-cli 脚手架中webpack 配置基础文件详解 需要Word版本 的小伙伴可以发我邮件2445478193@qq.com 一.前言 vue-cli是构建vue单页应用的脚手架,输入一串指定的 ...

  3. python map用法_Python中 map()函数的用法详解

    python map()函数问题 使用map()函数生成一个值D但是检测D的长度时,只能测一次,一次之后D似不知道你的dataSet 是什么数据,是否是从数据库取出来的结果游标, 如果是的 那么dat ...

  4. string的常用用法详解

    一般我们在C语言中用到字符串,都是使用字符数组来存放,但是操作字符数组有时候会不便,所以为了方便操作,在C++的STL中加入了字符串类型(string). 想要复习以往字符数组的相关知识点请点击以下链 ...

  5. Pyecharts - 动态地图 geo()/ map() - 安装与用法详解

    目录 安装Pyecharts 安装对应的地图拓展: 准备数据 使用 pyecharts 模块中的 Geo 函数: 使用 pyecharts 模块中的 map 函数: 把一些地域性比较明显的数据显示在一 ...

  6. Python day10 global关键字、函数递归、匿名函数、map函数的用法详解

    1.global关键字 引用全局变量,在局部全局变量改变,也会改变,global相当于指针,将地址指向全局变量的name name='littlepage'def littepage():global ...

  7. moment常用用法详解

    原文:https://cnodejs.org/topic/58b15942ea21217a4486cd59 安装依赖: npm install moment --save 用法: 'use stric ...

  8. c++中string常用用法详解(+例子部分代码)

    小白笔记 文章目录 前言 一.string 字符串赋值 二.string 字符串的拼接 三.string 查找和替换 四.string 字符串比较(挨个字符的ASCLL码来进行对比) 五.string ...

  9. java中String的用法详解

    在这里先分别对String.StringBuffer.StringBuilder进行解析,在比较三者异同 String String类:代表字符串.Java程序中所有的字符串字面值(如"fd ...

最新文章

  1. python【数据结构与算法】内置函数 zip() 函数(看不懂你来打我)
  2. 华为鸿蒙系统p40,华为鸿蒙OS系统正式亮剑!华为P40再次确认:双打孔+麒麟990+鸿蒙OS...
  3. css和css的圣杯布局,CSS布局--圣杯布局和双飞翼布局以及使用Flex实现圣杯布局
  4. python nltk book_nltk book的下载
  5. [BZOJ4719][P1600][NOIP2016]天天爱跑步[LCA+dfs序+差分]
  6. 机器学习算法工程师面试经验谈:以个性化推荐算法为例
  7. Java的Redis连接池代码
  8. 7天学会python_Python学习:第七天
  9. 依赖注入及AOP简述(四)——“好莱坞原则”和依赖注入框架简介 .
  10. python查询ip归属地,Python查询IP地址归属完整代码
  11. 工作站性能测试软件,国产工作站“王炸”来了! 曙光桌面工作站评测
  12. 远程连接树莓派桌面xrdp
  13. 代码实现抖音时钟罗盘
  14. android每个程序的内存大小,如何获取Android手机全部内存和可用内存尺寸
  15. 青春如电,许多未了心愿
  16. 一个数如果恰好等于它的因子之和,这个数就称为 完数 。例如6=1+2+3.编程 找出1000以内的所有完数。
  17. 使用Xunit进行单元测试
  18. 【完善】微信餐厅点单小程序+后台管理系统的设计与实现(python实现)
  19. Atlas——数据治理工具的使用
  20. 雨阳Ghost Xp Sp3笔记本通用版2011.11B

热门文章

  1. python Dataframe apply()自定义函数中axis参数
  2. 【6Dof位姿估计】DPVL:6DoF Object Pose Estimation via Differentiable Proxy Voting Loss论文理解
  3. python之开三次方根的计算
  4. 产品思维考察之对象思维
  5. 【Spring】SpringIOC容器启动过程源码分析 以及 循环依赖问题
  6. 统一信息管理平台服务器,4A统一安全管控平台
  7. SQL下三种执行CMD命令的方法
  8. 使用 Eslint + husky + lint-staged + Prettier 提高前端项目质量、统一项目代码风格
  9. can总线配置读入是什么意思_CAN总线含义
  10. 论文阅读:A Survey of Open Domain Event Extraction 综述:开放域事件抽取