参考:(5条消息) map 映射_happyaaakkk的博客-CSDN博客_map映射

一、什么是map映射?

定义:map容器是一个键值对key-value的映射。map的key和value可以是任意的数据类型(包括int、double、long long、string、struct、vector、queue等等)。


二、map映射的基本操作

1.map的声明

代码如下(示例):

map<int,int> mp;//定义了一个从int型到int型的映射

map<int,string> mp;//定义了一个从int型到string的映射

2.map的操作

以map<int,string>为例子

1.插入数据

mp.insert(pair<int,string>(2,"bbb"));//第一种插入方式

mp.insert(map<int, string>::value_type (1,"aaa"));//第二种插入方式

mp[3]="ccc";//第三种插入方式

2.容器的属性

map.size()//返回一个映射中元素的个数

map.empty()//若map为空则返回true

map.clear()//清空容器

map.begin()//返回指向map头部的迭代器

map.end()//返回指向map末尾的迭代器

3.访问容器中的元素

方式1.map<int,int>::iterator it;

#include<iostream>
#include<map>
using namespace std;
int main()
{
    int a[5];
    map<int,int>M;
    a[0]=1;M[a[0]]++;
    a[1]=2;M[a[1]]++;
    a[2]=2;M[a[2]]++;
    a[3]=4;M[a[3]]++;
    a[4]=1;M[a[4]]++;
    map<int,int>::iterator it;
    for(it=M.begin();it!=M.end();it++)
        cout<<it->first<<' '<<it->second<<endl;//it->first表示映射的前一个元素,it->second表示映射的后一个元素
    return 0;
}

方式2(若前一个元素是int)

可用数组遍历

map<int,int> mp;

for(int i=1;i<=n;i++)//数组遍历 
        cout<<i<<" "<<mp[i]<<endl; //输出后一个元素

4.[]操作符

mp[key]返回映射mp中的自变量key映射到的value的值。

优点:可以通过mp[key]的操作来查询k映射到的value的值并进行修改。

map映射的基础用法相关推荐

  1. map映射-----基础实验8-1.2 直捣黄龙 (30分)

    本题是一部战争大片 -- 你需要从己方大本营出发,一路攻城略地杀到敌方大本营.首先时间就是生命,所以你必须选择合适的路径,以最快的速度占领敌方大本营.当这样的路径不唯一时,要求选择可以沿途解放最多城镇 ...

  2. [渗透攻防] 二.SQL MAP工具从零解读数据库及基础用法

    这是最近学习渗透和网站攻防的文章,希望能深入地学习这部分知识,自己作为一个初学者,前一篇文章从数据库原理解读了防止SQL注入,这篇文章通过SQLMAP工具简单介绍SQL注入及用法.自己仍在慢慢探索网络 ...

  3. Docker部署及基础用法

    Docker基础用法 Docker介绍 什么是Docker OCI&OCF Docker镜像与镜像仓库的关系 Docker对象 Docker工作原理 Docker部署 Docker 事件状态 ...

  4. 总结关于map的一些基本用法

    map 的用法: #include map 是映射,一般用于字符串和整数之间的映射:实现哈希表:字符串之间的映射. map<映射之前的类型,映射之后的类型> 例如:map<char, ...

  5. STL之map映射(C++)

    文章目录 1.map 是一个键值对 (1)有关 key / value (3)底层实现--红黑树 2.map 的常用方法 (1)注意 (2)用法示例 3.map 的应用 反片语(Ananagrams, ...

  6. Google Map 开发笔记——基础篇(Javascript )

    Google Map 开发笔记--基础篇 说明: 一.使用入门: 1.在您需要显示地图的 html 页面嵌入这段 script 2.地图 DOM 元素 3.初始化地图 二.地图画点.线.面 1.标记( ...

  7. 【Linux防火墙】iptables基础用法及高级用法

    文章目录 iptables命令简介 1.语法 2.iptables命令选项输入顺序 3.选项讲解 4.基础用法示例 1.清除规则相关操作 2.查看相关规则及序列号 3.通过查看后的序列号删除规则 4. ...

  8. 【docker基础用法】

    docker基础用法 文章目录 docker基础用法 什么是docker OCI&OCF OCI OCF 断续器 docker架构 docker镜像与镜像仓库 docker对象 安装及使用do ...

  9. java写mapstate算子,vuex state及mapState的基础用法详解

    vuex state及mapState的基础用法详解 2019-01-07 编程之家收集整理的这篇文章主要介绍了vuex state及mapState的基础用法详解,编程之家小编觉得挺不错的,现在分享 ...

最新文章

  1. 从 0 到 1 实现 React 系列 —— 4.setState优化和ref的实现
  2. HTML JS正方形轮播,js,html一个页面里面多个页面轮播
  3. HDU 2629 Identity Card
  4. 07 | 链表(下):如何轻松写出正确的链表代码?
  5. HBase在共享经济互联网业务的应用
  6. 林权抵押贷款政策出台 将实现林业资源变资本
  7. Python Django开发中XSS内容过滤问题的解决
  8. Buddy(伙伴)系统分配器之分配page
  9. 商场客流量统计摄像头设备
  10. APP测试:禁止APP登录页面截图解决方法
  11. 9x9九宫格java_9x9九宫格数字填写规律
  12. ai钢笔工具怎么描线_AI分享:歪龙教你玩转钢笔工具
  13. HDU 6078 Wavel Sequence(dp)
  14. 精彩总结:★加密网页破解大法★
  15. P3-2017级算法第三次上机 B SkyLee逛漫展
  16. PL/SQL计算质数
  17. python微信自动发消息_Python使用微信itchat接口实现查看自己微信的信息功能详解...
  18. 宝马X6和保时捷卡宴,选谁更加高端大气上档次?
  19. Crysis勒索病毒中毒经历及漏洞查堵[勒索邮箱openpgp@foxmail.com]
  20. Problem J.果粒橙

热门文章

  1. win10桌面记事本便签有哪款
  2. 连接WiFi电脑却无法上网
  3. sd和sem啥区别_生物统计学-标准差(SD)和标准误(SEM)有何区别.pdf
  4. 【渝粤教育】电大中专Windows操作系统 (2)_1作业 题库
  5. php开启sockets模块,linux下开启php的sockets扩展支持实例
  6. Unix Domain Sockets
  7. 微信活码系统程序源码
  8. 2021最新微信影视小程序源码无限代开+搭建详细教程
  9. 【题解】Luogu-P4774 [NOI2018] 屠龙勇士
  10. 计算机内部可以用哪两种处理器封装类型,电脑CPU处理器封装形式大盘点