关于标准库中sring、char、vector、set、map、queue、stack、bitset等,方法有些记不清楚,每次用每次查,很费时间,干脆自己整理一下,记不住的时候,查询更方便。
关联容器:支持通过键来高效地查找和读取元素。包括:map,set,其中,map:键-值,set:键。
map 是 map<键, 值> 对的 集合,可以使用键作为下标来获取一个值。
关联容器类型
标准库——pair类型
包含在 #include<utility>头文件中,其操作如下:
map<int, int> m;
int val = 1;
int key = 2;
// 方法1
m.insert(make_pair(key, val));
// 方法2,直接插入
m[key] = val;
map的构造函数
键类型,严格弱排序!,即键的数据类型,为 < 关系, 插入键值对时,也是严格的排序。
map类定义的类型
map容器提供的insert操作
// 方法1
word_count.insert(map<string, int>::value_type("Anna", 1));
// 方法2(key, val);
word_count.insert(make_pair("Anna", 1));
// 方法3
typedef map<string, int>::value_type valType;
word_count.insert(valType("Anna", 1));
不修改map对象的查询操作
count成员的返回值,只能是0或1. 最好不要用下标查询,是否某个键存在,因为如果不存在,会把value+1,得出错误结果。
从map对象中删除元素
map对象的迭代遍历
map<string, int>::const_iterator map_it = word_count.begin();
while(map_it != word_count.end())
{cout << map_it->first << "occurs " << map_it->second << " times " << endl;++map_it; // 指向下一组元素
}
set——链接
https://blog.csdn.net/qq_34732729/article/details/100582187