博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
unordered_set的理解
阅读量:6640 次
发布时间:2019-06-25

本文共 609 字,大约阅读时间需要 2 分钟。

hot3.png

它是c++支持的hash set,冲突时采用典型的链表法

template < class Key,                        // unordered_set::key_type/value_type           class Hash = hash
, // unordered_set::hasher class Pred = equal_to
, // unordered_set::key_equal class Alloc = allocator
// unordered_set::allocator_type > class unordered_set;

find(key)的流程:拿到key后,通过Hash函数计算hash值,然后对初始化设置的hash桶数取模,得到桶的索引,然后通过比较函数Pred比较桶索引中的元素值和查询key,获取比较结果,确定是否查询到。

instert(key):也通过Hash函数计算hash值,得到桶索引,然后比较是否存在,如果不存在则插入。

 

转载于:https://my.oschina.net/u/2567345/blog/1932353

你可能感兴趣的文章
POJ1502(Dijkstra)
查看>>
程序猿必须知道10算法及其大有用的解说基地
查看>>
thinkphp中的验证码的实现
查看>>
Oracle 自己主动内存參数依赖性
查看>>
OpenLayers学习笔记4——使用jQuery UI实现測量对话框
查看>>
Leetcode Triangle
查看>>
TBDR缺点
查看>>
apache开源项目--ZooKeeper
查看>>
WPF 控件事件的一个小坑…
查看>>
c++内存分配(new和delete)
查看>>
OTG驱动分析(二)
查看>>
CSS的::selection使用方法
查看>>
PHPStorm + Homestead + Xdebug + Chrome Xdebug Helper 调试配置
查看>>
java中static作用详解
查看>>
Spring学习8-Spring事务管理(编程式事务管理)
查看>>
MongoDB 正则表达式
查看>>
Android Studio中如何查看Logcat调试信息
查看>>
MySQL优化技巧之四(数据库设计中的一些技巧)
查看>>
C语言堆内存管理上出现的问题,内存泄露,野指针使用,非法释放指针
查看>>
UVA 12436 - Rip Van Winkle&#39;s Code(线段树)
查看>>