[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
相关推荐
云边小网安2 小时前
java集合(十) ---- LinkedList 类
java·开发语言·青少年编程·java集合
Zephyrtoria3 小时前
区间合并:区间合并问题
java·开发语言·数据结构·算法
你怎么知道我是队长4 小时前
GO语言---匿名函数
开发语言·后端·golang
lansye4 小时前
侃侃AI编程
开发语言·qt·ai编程
Aderversa5 小时前
C++开源协程库async_simple有栈协程源码分析
c++·协程
uyeonashi5 小时前
【QT】窗口详解
开发语言·c++·qt·学习
Hello eveybody6 小时前
C++介绍整数二分与实数二分
开发语言·数据结构·c++·算法
空白木各7 小时前
evo工具
c++
编码小笨猪7 小时前
浅谈Linux中一次系统调用的执行过程
linux·服务器·c++
jmlinux7 小时前
从 C 语言计算器到串口屏应用
c语言·开发语言