MAP
本文讲map和unordered_map
一.解释:
map 是一种有序无重复的关联容器。
关联容器与顺序容器不同,他们的元素是按照关键字来保存和访问的,而顺序元素是按照它们在容器中的位置保存和访问的。
map保存的是一种 key - value 的pair对象,其中 key 是关键字,value 是关键字对应的值。通过 key找到对应的 value。map中按照 key的大小升序排列pair对象。
typedef pair<const Key, T> value_type
其中key 是 const的,即不可以改变map中的key。
map在底层通常用二叉搜索树实现。
二.用法:
1.头文件
#include <map>
2.定义及初始化
map<string, string> map1,map2;//构造空的map
map1["abc"]="first";//直接赋值
map1[string("def")]="second";//直接赋值
map2.insert({"ghi","third"});//insert()赋值法1
map2.insert(make_pair("jkl","fourth"));//insert()赋值法2
map2.insert(pair<string,string>("mno","fifth"));//insert()赋值法3
map <string,int> map3 = {
{"string",1}, {"sec",2}, {"trd",3}};//列表初始化
map <string, string> map4(map1);//复制map1初始化
map <string,string> map5(map2.begin(),map2.end());//范围赋值初始化
3.成员函数及使用
|