它是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值,得到桶索引,然后比较是否存在,如果不存在则插入。