map 是 C++ 对数据结构哈希表的实现。要使用 map,请在程序头添加:
#include <map>
using name space std;
数组是最基础的也是我们使用得最为频繁的容器。但数组只能提供数值到其他类型值的映射,即数组只能使用数值作为索引的。很多时候我们需要以其他类型作为索引,如 char 或者 string 等。map 正好可以满足这种需求,故 map 对象的创建需要指定 index 和 value 两个值的类型,即
map<index, value> m;
map 的 index 可以是各种不同的类型,如 int、char 、string 等。map 中的元素是按照 index 的升排列的,也不允许存在具有相同 index 值的元素。
map 对象的定义与初始化
map<int, char> m;
创建一个空 map 容器
map<int, char> m1(m);
m1 = m
map<int, char> m1 = m
m1 = m
map<int, char> m({ {1, 'a'}, {3, 'c'} });
map<int, char> m = { {1, 'a'}, {3, 'c'} };
向 map 对象添加元素
作为一种关联容器,map 中的元素是根据关键字存储的,故 map 不支持类似于顺序容器中的与位置相关的操作,如 .push_front、.push_back 等。在向 map 对象中添加元素时,只需要指明带插入的元素本身,而元素插入的位置由 map 根据其关键字自行决定。
使用 insert 插入元素
插入单个元素
map<int, char> m = {
{
1, 'a'}, {
2, 'b'} };
m.insert({
3, 'c'}); // m = { {1, 'a'}, {2, 'b'}, {3, 'c'} };
插入一段元素
map<int, char> m = {
{
1, 'a'}, {
2,