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