[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
相关推荐
缺点内向22 分钟前
Java 使用 Spire.XLS 库合并 Excel 文件实践
java·开发语言·excel
报错小能手39 分钟前
C++笔记(面向对象)详解单例模式
c++·笔记·单例模式
吗~喽1 小时前
【C++】内存管理
c++
百锦再1 小时前
Go与Python在AI大模型开发中的深度对比分析
java·开发语言·人工智能·python·学习·golang·maven
盒马盒马1 小时前
Rust:复合类型
开发语言·rust
R.lin2 小时前
红包实现方案
java·开发语言·网络·后端·架构
上去我就QWER2 小时前
解锁Qt元对象系统:C++编程的超强扩展
c++·qt
莫听穿林打叶声儿2 小时前
关于Qt开发UI框架Qt Advanced Docking System测试
开发语言·qt·ui
freedom_1024_2 小时前
【c++ qt】QtConcurrent与QFutureWatcher:实现高效异步计算
java·c++·qt
minji...3 小时前
C++ 模板进阶
开发语言·c++