map是C++ STL关联容器,基于红黑树实现,存储唯一键值对并按键有序排列,支持O(log n)插入、删除与查找。常用操作包括通过下标或insert插入元素,find和count判断键存在性,遍历使用范围for循环,删除调用erase。注意operator[]访问不存在键会自动插入,默认使用升序,适用于字典、统计等场景。
map 是 C++ 标准模板库(STL)中的一种关联容器,用于存储键值对(key-value pairs),其中每个键都唯一,并自动与一个值相关联。map 内部通常基于红黑树实现,因此元素会按照键的顺序自动排序,插入、删除和查找操作的时间复杂度为 O(log n)。
使用 map 需要包含头文件:
#include声明一个 map:
std::map例如,创建一个以字符串为键、整数为值的 map:
std::map<:string int> ageMap;
• 访问元素:
int a = ageMap["Alice"]; // 获取值,若 key 不存在则创建并返回默认值
auto it = ageMap.find("Bob");
if (it != ageMap.end()) {
std::cout first second;
}
• 遍历 map:
for (const auto& pair : ageMap) {
std::cout
}
• 删除元素:
ageMap.erase("Alice"); // 按键删除
ageMap.erase(it); // 按迭代器删除
• 检查是否存在某个键:
if (ageMap.count("Bob")) {
std::cout
}
基本上就这些,map 在需要建立映射关系、快速查找的场景中非常实用,比如字典、配置管理、计数统计等。