哈希表的基本操作

C++ 中常见的哈希表实现是 unordered_map,它是 C++ 标准模板库(STL)提供的一种基于哈希表实现的关联容器。使用哈希表可以实现快速的查找、插入和删除操作,时间复杂度为 O(1)(平均情况下)。

以下是使用 unordered_map 的一般步骤:

包含头文件:首先需要包含 <unordered_map> 头文件。

#include <unordered_map>

定义哈希表:使用 unordered_map 模板定义哈希表,指定键(key)和值(value)的类型。

std::unordered_map<KeyType, ValueType> myMap;

插入元素:可以使用 insert() 函数或者数组访问方式插入键值对。

myMap.insert(std::make_pair(key, value));
// 或者
myMap[key] = value;

访问元素:可以使用 at() 函数或者数组访问方式访问指定键的值。

ValueType value = myMap.at(key);
// 或者
ValueType value = myMap[key];

查找元素:使用 find() 函数查找指定键是否存在。

auto it = myMap.find(key);
if (it != myMap.end()) {
    // 找到了键为 key 的元素
} else {
    // 没有找到键为 key 的元素
}

删除元素:可以使用 erase() 函数删除指定键的元素。

myMap.erase(key);

遍历哈希表:可以使用迭代器遍历哈希表中的所有元素。

for (auto it = myMap.begin(); it != myMap.end(); ++it) {
    // 使用 it->first 访问键,it->second 访问值
}

大小操作:可以使用 size() 函数获取哈希表中键值对的数量。

size_t size = myMap.size();

清空哈希表:使用 clear() 函数清空哈希表中的所有元素。

myMap.clear();

以上是使用 unordered_map 的基本操作步骤,通过哈希表可以实现快速的数据查找和存储。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值