unordered_map 在头文件 <unordered_map> 中定义,它是一个包含键-值对的关联容器(键是唯一的)。其内部存储没有特定的顺序,值是根据键的哈希值进行存储,计算哈希值的速度是很快的,因此查找、插入、删除都是常数时间。
#include <unordered_map>
初始化
unordered_map<int, int> u = {{2, 4}, {4, 16}};
在尖括号中给出键和值的数据类型,这里都是整型,利用列表的形式可以初始化。
插入修改
如果想插入或修改值可以直接使用中括号下标的形式。
u[3] = 9;
u[4] = 404;
迭代
for (const auto & p: u)
cout << p.first << " " << p.second;
p 可以遍历 u 中所有的键值对,first 表示取出键,second 表示取出值。还可以用以下两种写法,其中的 pair 要包含 <pair> 头文件。
for(const auto & [key, value] : u )
cout << key << " " << value;
for(const pair<const int, int>& p : u )
cout << p.first << p.second;
本文介绍了C++标准库中的unordered_map容器,它用于存储键值对且键是唯一的。unordered_map通过哈希表实现,查找、插入和删除操作具有较高的效率。示例展示了如何初始化、插入修改元素以及使用迭代器遍历键值对。此外,还提及了其与map容器的相似性。
1243

被折叠的 条评论
为什么被折叠?



