一、概述
Map是c++的一个标准容器,起到映射作用,在一些程序中建立一个map可以起到事半功倍的效果,查找的复杂度基本是Log(N)。//(好复杂,这什么垃圾玩意,我就算WA,TLE都不可能用—————————————————————真香!)。
需要用到头文件 #include<map>;
二、原理说明
什么是映射?举个例子,其实数组就是简单的映射:

数组只能由整形向基本类型映射,但假如说将string映射为int,就非常困难,而map就可以解决。
自动建立映射关系的对应。 两者可以是任意你需要的类型。map还可以快速查找记录,快速插入记录,快速删除记录,根据记录修改映射值,遍历所有记录!
三、代码解析
1、定义
键和值都是唯一的:
map<typename1,typename2> name ;
//typename1:映射前键key typename:映射后value
举例:
类比数组:
map<int,int> a;
字符串至整形:
map<string,int> a;
一系列用法:
map<string,int> strMap;
map<int,string> intMap;
map<string,char> strMap;
map<char,string> charMap;
map<char,int> charMap;
map<int,char> intMap;
map可以将任何基本类型(包括容器)映射到任何基本类型(包括容器)。
2、赋值
赋值的类型多种多样:
(1)pair系列:
可以这样:
map<int, string> ismap;
ismap.insert(pair<int,string>(1,"ok"));
也可以这样:
map<int, string> ismap;
ismap.insert(make_pair<int,string>(2,"good"));
(2) value_type:
map<int, string> ismap;
ismap.insert(map<int, string>::value_type(3,"cool"));
(3)“数组”版:
map<int, string> ismap;
ismap[4] = "Superb";
需要注意的是,只有最后一组假如重复输入,会覆盖;前三种直接报错!
3、函数
基本和上一篇list差不多,就不过多赘述,一一举例了。

本文详细介绍了C++标准库中的Map容器,包括其基本概念、原理说明、定义方式及赋值方法等内容。Map是一种高效的数据结构,可用于快速查找、插入、删除记录等操作。
3631

被折叠的 条评论
为什么被折叠?



