哈希表学习笔记

目录

哈希表的特征

哈希表的遍历

哈希表的查找

哈希表的插入

哈希表的删除


哈希表的特征

哈希表一般是快速判断一个元素是否出现在集合里 。把值进行加工在哈希表中就叫做散列函数。

哈希表的遍历

for (auto i = hash.begin(); i != hash.end(); i++)

哈希表的查找

查找某个元素是否在哈希表中 ,可以使用**hash.find(x) != hash.end()** ,或者**hash.count(x) > 0。** 但是h****ash.count(x) 的数值只能有0和1,所以不能用它来表示x在hash中出现的次数。

哈希表的插入

unordered_set 中插入元素,可以用**hash.insert(key)** 。

unordered_map 中插入元素,可以使用**hash[key] = value**。

哈希表的删除

unordered_setunordered_map 中删除元素,都用hash.erase(key)

但是在unordered_map 中,即使hash[key] == 0 ,如果之前已经将key存入到hash中,然后通过hash[key] -- 使得hash[key] == 0 ,hash 中还会存在key ,也就是说此时hash.count(key) == 1 。在个别场景下,可能需要一次性删除 unordered_map 容器中存储的所有键值对 ,可以使用clear()

相关推荐
普普通通的一名码农5 分钟前
电化学-论文分享-NanoStat: An open source, fully wireless potentiostat
笔记·开源
Fency咖啡32 分钟前
《代码整洁之道》第7章 错误处理 - 笔记
笔记
每次的天空1 小时前
Android学习总结之扩展基础篇(一)
android·java·学习
【0931】1 小时前
差错检测的学习
网络·学习
Small踢倒coffee_氕氘氚1 小时前
DeepSeek:重构人类文明的智能引擎
经验分享·笔记·灌灌灌灌
咦!一只菜鸡1 小时前
idea连接远程服务器kafka
分布式·学习·kafka
孞㐑¥1 小时前
C++之异常
开发语言·c++·经验分享·笔记
zuckzhao952 小时前
Spring Security入门学习(一)Helloworld项目
java·学习·spring
虾球xz2 小时前
游戏引擎学习第248天:清理数据块显示
c++·学习·游戏引擎
序属秋秋秋2 小时前
《数据结构初阶》【顺序表 + 单链表 + 双向链表】
c语言·数据结构·笔记·链表