C++ STL中的unordered_map

C++ STL中的unordered_map采用哈希表实现,提供O(1)的访问速度,但空间复杂度较高。与map相比,map使用红黑树保持元素有序,查找速度为O(logN)。本文介绍了unordered_map的常用函数,包括find()和end()用于检查元素存在,以及erase()用于删除元素。
摘要由CSDN通过智能技术生成

C++ STL中的unordered_map可类比于Python中的字典。其实现使用了哈希表,可以以O(1)的时间复杂度访问到对应元素,但缺点是有较高的额外空间复杂度。与之对应,STL中的map对应的数据结构是红黑树,红黑树内的数据时有序的,在红黑树上查找的时间复杂度是O(logN),相对于unordered_map的查询速度有所下降,但额外空间开销减小。


unordered_map常用函数

需要包含的文件

#include <unordered_map> 
using namespace std;
声明一个unordered_map
在< >中需要指明两个变量类型,类比Python的字典,第一个是key的类型,第二个是key对应的value的类型

unordered_map<char, int> map;
插入键值对的方法,下面介绍两种方法
首先是使用[]的方法
map['A'] = 1;
在Python中,如果事先声明了一个字典,也可以用这种方法增加(key, value)对

## Python字典示例
dic = {}         # 声明一个字典
dic['A&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值