- map是关键字-值对的集合,元素是一些关键字-值对(字典)
- 按关键字有序保存元素
使用map
- 头文件
#include<map>
- 创建map
map<tk, tv> m; //创建一个map,关键字为tk类型,值为tv类型
map<tk, tv> m1 = {{key, value}}; ////创建一个map,关键字为tk类型,值为tv类型,添加元素key-value
- 添加元素
map<string, int> m; //创建一个map,关键字为string类型,值为int类型
m["zero"]; //添加一个元素,关键字为zero,初始值为空();
map<string, int> m1 = {{"one" , 1}}; //创建一个map,初始化元素one,并赋值1
m1["two"] = 2; //添加一个元素,关键字为two,值为2
m1.insert({"three", 3}); //添加一个元素,关键字为three,值为3
m1.insert(pair<string, int>("four", 4)); //添加一个元素,关键字为four,值为4
- 删除元素
map<string, int> m = {{"one", 1}, {"two", 2}, {"three", 3}};
m.erase("one"); //删除元素one-1
m.erase(m.begin()); //删除map中首个元素
- 下标操作
map<string, int> m = {{"one", 1}, {"two", 2}, {"three", 3}};
m["one"]; //返回one的值,如果one不存在,则会添加关键字one
m.at("one"); //返回one的值,如果one不存在,则会抛出异常
- 访问元素
map<string, int> m = {{"one", 1}, {"two", 2}, {"three", 3}};
m.find("one"); //返回一个迭代器,若果不存在,则返回尾后迭代器
m.cout("one"); //返回关键字为one的与元素的数量