哈希表学习笔记

目录

哈希表的特征

哈希表的遍历

哈希表的查找

哈希表的插入

哈希表的删除


哈希表的特征

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

哈希表的遍历

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()

相关推荐
Brookty2 小时前
Java线程安全与中断机制详解
java·开发语言·后端·学习·java-ee
飞速移动的代码菌2 小时前
【DataWhale】快乐学习大模型 | 202507,Task08笔记
笔记·学习
不在了情绪2 小时前
[ The Missing Semester of Your CS Education ] 学习笔记 Vim篇
笔记·学习·vim
试着3 小时前
零基础学习性能测试第五章:JVM性能分析与调优-JVM概念,java程序运行原理
java·jvm·学习·零基础·性能测试
遇见尚硅谷4 小时前
C语言:20250728学习(指针)
c语言·开发语言·数据结构·c++·笔记·学习·算法
Aronup4 小时前
NLP学习开始01-线性回归
学习·自然语言处理·线性回归
墨迹的陌离6 小时前
【Linux】重生之从零开始学习运维之Mysql
linux·运维·服务器·数据库·学习·mysql
这就是佬们吗6 小时前
初识 docker [上]
java·开发语言·笔记·docker·容器
幻风_huanfeng6 小时前
学习人工智能所需知识体系及路径详解
人工智能·学习
试着7 小时前
零基础学习性能测试第六章:性能难点-Jmeter文件上传场景压测
学习·jmeter·零基础·性能测试