第 132 课
map
🔵 基础 约 7 分钟
一句话理解
map 是键到值的有序映射。
为什么要学
把编号映射到次数、把字符串映射到 id。
讲解
map<string,int> mp; mp[“ab”]++; 不存在的键用 [] 会自动变成 0 再操作。
遍历按键有序。查找 log n。键必须能比较。
例子
map<string,int> mp;
mp["a"] = 2;
mp["a"]++;
cout << mp["a"];
输出:
3
先变成 2,再自增到 3。
常见错误
- 用 [] 查询不存在的键,会插入 0,可能污染。只查询用 find 或 count。
- 键用了不能比较的类型。
练习 做完再看下一课
mp["z"] 当 z 不存在时?
operator[] 会插入。
在线练习 C++ 在浏览器里编译,代码不会上传 已通过
Ctrl / ⌘ + Enter 运行 · Tab 缩进
隐藏测试点只是界面不展示数据。题目 JSON 会下发到浏览器,可在开发者工具里看到,只适合自学,不是正式比赛评测。
进度保存在本机浏览器里。
左右方向键也可翻课