[C++] STL大家族之<map>(字典)容器(附洛谷)

map-目录

使用方法

头文件与声明定义

头文件是:

cpp 复制代码
#include <map>

我们这样声明一个字典:

cpp 复制代码
map</*key_type*/, /*value_type*/> /*map_name*/;
// 例子:
map<int, char> mp;

这里稍作解释:

  • key_type是你每个键值对中的键的数据类型
  • value_type是你每个键值对中的值的数据类型
  • map_name是你的map名称

注: 以下我们的后续讲解以声明为map<int, char> mp;的map为例.

基本操作

以下用代码块的形式写出了map的增删改查和其他操作示例, 解释在注释里:

cpp 复制代码
mp[1] = 'a';			// 添加一对键值对, 键为1, 值为'a'
mp[666] = 'b';			// 同上
cout << mp[1] << endl;	// 访问键为1的值, 应输出'a'
mp.erase(1);			// 删除键为1的元素
mp.clear()				// 清空容器
mp.count(3);			// 如果存在键为3的元素返回1, 否则返回0
mp.find(64);			// 如果存在键为64的元素, 则返回元素的迭代器, 否则返回mp.end()
mp.size();				// 返回map内元素个数
mp.empty();				// map空的话返回true, 否则返回false
相关推荐
Sarvartha8 小时前
final 关键字
java·开发语言
fpcc8 小时前
c++编程实践—堆和栈越界调试
c++
程序员Sunday8 小时前
JavaScript 事件循环面试题,宏任务与微任务怎么执行|Sunday面试指南
开发语言·javascript·面试·校招·事件循环·程序员sunday
zhangzeyuaaa9 小时前
Ruby 多线程、GVL(GIL)与 Mutex 完全指南
开发语言·前端·ruby
weiabc9 小时前
MSYS2 UCRT64 + g++ C++ 中文输出乱码 完整全过程
c++
谢亮_vipxieliang10 小时前
用 PHP 构建轻量级 REST API:从路由到鉴权的完整实践
开发语言·后端·php
思无邪6610 小时前
用 AI 做 JS 逆向:从抓包到复现的完整方法论
开发语言·javascript·人工智能
灯澜忆梦11 小时前
【面向对象编程C++】| 基础语法
java·c++·算法
H.莓飛11 小时前
【数据结构】二叉树_OJ题
linux·开发语言·数据结构·算法
aqiu11111112 小时前
【C++算法打怪专栏】LeetCode 165. 比较版本号(双指针与字符串流法)
c++·算法·leetcode