【STL】unordered_map容器

Unordered_Map 容器

0. Unordered_Map 容器介绍

头文件

// 头文件
#include <unordered_map>
  • Unordered_Map 是一个无序关联容器,用于存储键值对,其中键是唯一的。
  • Unordered_Map 使用哈希表实现,查找、插入和删除的平均时间复杂度为 O(1)。
  • 与 Map 不同,Unordered_Map 不进行键的排序。

1. Unordered_Map 容器的构造

默认构造

// Unordered_Map 容器(无序关联容器)
unordered_map<KeyType, ValueType> umap;

拷贝构造和赋值

// Unordered_Map(const Unordered_Map &otherUnordered_Map);  // 拷贝构造函数
unordered_map<KeyType, ValueType> umap_copy(otherUnordered_Map);

// Unordered_Map& operator=(const Unordered_Map &otherUnordered_Map);  // 等号运算符重载
unordered_map<KeyType, ValueType> umap1;
unordered_map<KeyType, ValueType> umap2;
umap1 = umap2;

2. Unordered_Map 容器的插入与删除

umap[key] = value;  // 插入或更新键值对
umap.begin();  // 返回容器中第一个元素的迭代器
umap.end();  // 返回容器中最后一个元素的迭代器
umap.erase(key);  // 删除键为 key 的元素
umap.erase(iter);  // 删除迭代器 iter 所指向的元素
umap.erase(begin_iter, end_iter);  // 删除区间 [begin_iter, end_iter) 内的元素

3. Unordered_Map 容器的大小

umap.size();  // 返回 Unordered_Map 容器中键值对的个数
umap.empty();  // 判断容器是否为空

4. Unordered_Map 容器的查找

umap.find(key);  // 查找键为 key 的元素,返回指向该元素的迭代器,如果找不到返回 umap.end()
umap.count(key);  // 返回容器中键为 key 的元素的个数,对于 Unordered_Map 容器来说不是 1 就是 0

5. Unordered_Map 容器的遍历

for (const auto& pair : umap) {
    // 处理每个键值对
    // pair.first 表示键,pair.second 表示值
}

这些操作使得 Unordered_Map 成为一个高效的容器,适用于需要快速查找、插入和删除键值对的场景。由于其无序特性,适用于不关心键的顺序的情况。

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值