【C++】std::unordered_map容器

这篇博客详细介绍了C++中的unordered_map容器,包括它的构造函数、容器大小操作、元素存取、删除以及查找和修改元素的方法。unordered_map利用哈希表提供快速查找,与map的主要区别在于它是无序的。示例代码展示了如何使用unordered_map的各种功能。
摘要由CSDN通过智能技术生成

简述:

对于map,其内部数据结构为红黑树,因此所有元素插入到map里面都会排好序,而且搜索过程为平衡二叉树搜索,因此时间复杂度为O(logN)。我们知道还有一种快速的搜索方法,那边是哈希(又名散列),利用哈希函数,通过哈希值能快速的查找到所需元素。unordered_map便是采用这种数据结构实现,其为无序映射,unordered _map与map的使用基本一样,都是key/value之间的映射,只是他们内部采用的数据结构不一样,由于unordered_map内部是用散列表来实现快速查找,因此其内部元素完全是一种无序状态。哈希表利用哈希函数,将关键字的哈希值放都一个桶(bucket)里面,具有相同哈希值的放入到同一个桶。

头文件:

#include <unordered_map>

1、构造函数

typedef std::unordered_map<std::string,std::string> stringmap;

stringmap first;                              // empty
stringmap second ( { {"apple","red"},{"lemon","yellow"}} );       // init list
stringmap third ( { {"orange","orange"},{"strawberry","red"}} );  // init list
stringmap fourth (second);                    // copy
stringmap fifth (

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值