哈希表学习笔记

目录

哈希表的特征

哈希表的遍历

哈希表的查找

哈希表的插入

哈希表的删除


哈希表的特征

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

哈希表的遍历

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

相关推荐
问君能有几多愁~32 分钟前
C++ 数据结构复习笔记
数据结构·c++·笔记
r_oo_ki_e_1 小时前
Java Map 集合学习笔记
java·笔记·学习
笨鸟先飞的橘猫2 小时前
skynet——sharetable学习
学习·skynet
liuyicenysabel3 小时前
大模型学习笔记 · 第八篇 · 进阶:偏好对齐与多卡训练
人工智能·笔记·学习
Funing76 小时前
FreeRTOS学习day1:Keil 工程配置与 FreeRTOS 链表机制理解
数据结构·学习·链表
心中有国也有家6 小时前
使用 DevEco Studio 配置 Flutter 鸿蒙签名
学习·flutter·华为·harmonyos
灯澜忆梦6 小时前
MySQL 完整学习路线
学习·mysql
番茄育学园6 小时前
我的三款主流云存储音乐库实测笔记
笔记·分类·媒体
森林古猿17 小时前
再论斜率优化
c++·学习·算法
心中有国也有家7 小时前
鸿蒙Flutter开发环境从零搭建教程(Windows/macOS双平台·避坑版)
学习·flutter·华为·harmonyos