map容器
std::map 是一个关联容器,它存储的是键值对(key - value),每个键(key)都是唯一的,
并且会根据键自动进行排序(默认是按键的升序排列)。通过键可以快速查找与之关联的值,
查找的时间复杂度为 O(logn)。std::map 通常使用红黑树这种平衡二叉搜索树来实现。

1 #include <iostream> 2 #include <map> 3 #include <string> 4 #include<cstdio> 5 using namespace std; 6 7 int main() { 8 // 创建一个存储字符串到整数映射的 map 9 map<string, int> myMap; 10 11 // 插入键值对 12 myMap["apple"] = 1; 13 myMap["banana"] = 2; 14 myMap["cherry"] = 3; 15 16 // 访问 map 中的元素 17 cout << "apple 对应的值: " << myMap["apple"] << endl; 18 19 // 检查键是否存在 20 if (myMap.find("banana")!= myMap.end()) { 21 cout << "banana 存在于 map 中" << endl; 22 } 23 24 // 遍历 map,auto 是 C++ 的类型推导关键字,编译器会根据 myMap 中元素的实际类型自动推导出 pair 的类型 25 // & 表示引用。使用引用可以避免在遍历过程中对元素进行复制,从而提高效率,尤其是当元素类型比较大时。 26 for (const auto& pair : myMap) { 27 std::cout << pair.first << ": " << pair.second << std::endl; 28 } 29 30 // 删除键值对 31 myMap.erase("cherry"); 32 33 // 输出 map 的大小 34 std::cout << "map 的大小: " << myMap.size() << std::endl; 35 36 return 0; 37 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界