map映射的用法

map容器是一个键值对key-value的映射。其内部实现是一棵以key为关键码的红黑树(平衡树的一种)。map的key和value可以是任意的数据类型(包括int、double、long long、string、struct、vector、queue等等)。这里不对map的原理进行深入研究,只研究它的一些简单应用(复杂的不会qwq)。

1.map的声明方法:①.map数据结构包含在的头文件中

②.map的定义方式:map的定义方式为“map name”,其中key_type表示的是被映射的数据类型,相当于自变量x的数据类型;value_type表示的是映射到的数据类型,相当于因变量y,name则表示映射名。

举例:

map<long long,bool> vis;

定义了一个将long long类型数据映射到bool类型上的映射map;

map<string,int> hash;

定义了一个将string类型数据映射到int类型上的映射hash;

这里的hash表示哈希,是一种常见的解决查找字符串问题的方法,其原理便是将字符串映射为一个数字。

map< pair<int,int>, vector<int> > test;

将一个pair二元组映射到一个动态数组vector上。

2.map的操作:

①. size/empty/clear:

分别表示查询一个映射的元素个数、是否为空、清空。

②.[ ]操作符:

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

好处:可以通过h[key]的操作来查询k映射到的value的值并进行修改(这样可以避免枚举耗时)。

你可能感兴趣的:(map映射的用法)