[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
相关推荐
2zcode几秒前
基于Matlab图像处理的瓶子自动检测与质量评估系统
开发语言·图像处理·matlab
让学习成为一种生活方式27 分钟前
python列表与元组--python005
开发语言·python
liulilittle29 分钟前
DDD领域驱动中瘦模型与富态模型的核心区别
开发语言·c++·算法·ddd·领域驱动·思想
铭哥的编程日记1 小时前
《C++ string 完全指南:string的模拟实现》
c++
钟离墨笺1 小时前
Go 语言-->指针
开发语言·后端·golang
Yu_Lijing1 小时前
MySQL进阶学习与初阶复习第二天
数据库·c++·学习·mysql
超浪的晨1 小时前
Java 代理机制详解:从静态代理到动态代理,彻底掌握代理模式的原理与实战
java·开发语言·后端·学习·代理模式·个人开发
l1t2 小时前
开源嵌入式数组引擎TileDB的简单使用
c语言·数据库·c++
咖啡の猫2 小时前
bash的特性-bash中的引号
开发语言·chrome·bash
java叶新东老师2 小时前
idea提交时忽略.class、.iml文件和文件夹或目录的方法
java·开发语言