哈希表学习笔记

目录

哈希表的特征

哈希表的遍历

哈希表的查找

哈希表的插入

哈希表的删除


哈希表的特征

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

哈希表的遍历

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

相关推荐
huangyuchi.25 分钟前
【Linux】LInux下第一个程序:进度条
linux·运维·服务器·笔记·进度条·c/c++
黑客老李1 小时前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
海的诗篇_2 小时前
移除元素-JavaScript【算法学习day.04】
javascript·学习·算法
大写-凌祁2 小时前
论文阅读:HySCDG生成式数据处理流程
论文阅读·人工智能·笔记·python·机器学习
Unpredictable2222 小时前
【VINS-Mono算法深度解析:边缘化策略、初始化与关键技术】
c++·笔记·算法·ubuntu·计算机视觉
傍晚冰川2 小时前
FreeRTOS任务调度过程vTaskStartScheduler()&任务设计和划分
开发语言·笔记·stm32·单片机·嵌入式硬件·学习
月初,3 小时前
MongoDB学习和应用(高效的非关系型数据库)
学习·mongodb·nosql
casual_clover4 小时前
Android 之 kotlin 语言学习笔记四(Android KTX)
android·学习·kotlin
Love__Tay4 小时前
【学习笔记】Python金融基础
开发语言·笔记·python·学习·金融
半导体守望者4 小时前
ADVANTEST R3764 66 R3765 67爱德万测试networki connection programming网络程序设计手册
经验分享·笔记·功能测试·自动化·制造