unordered_set

无序集unordered_set是不按特定顺序存储唯一元素的容器,利用哈希表实现快速检索。元素根据哈希值组织成桶,允许通过键直接访问。unordered_set中的迭代器指向const元素,提供构造函数用于初始化,元素冲突通过链地址法解决。
摘要由CSDN通过智能技术生成
template < class Key,                        // unordered_set::key_type/value_type
           class Hash = hash<Key>,           // unordered_set::hasher
           class Pred = equal_to<Key>,       // unordered_set::key_equal
           class Alloc = allocator<Key>      // unordered_set::allocator_type
           > class unordered_set;

 

无序集是不按特定顺序存储唯一元素的容器,它允许根据单个元素的值快速检索单个元素。在unordered_set中,元素的值同时是其键,它唯一地标识它。键是不可变的,因此,unordered_set中的元素不能在容器中修改一次 - 但是可以插入和删除它们。

在内部,unordered_set中的元素没有按任何特定顺序排序,但是根据它们的哈希值组织成桶,以允许通过它们的值直接快速访问各个元素(平均时间复杂度恒定)。

unordered_set容器比通过其键访问单个元素的set容器更快,尽管它们通过其元素子集的范围迭代通常效率较低。

unordered_set特性:

       联想:关联容器中的元素由其引用,而不是由它们在容器中的绝对位置引用。

       无序:无序容器使用哈希表来组织其元素,这些哈希表允许通过快速访问元素。

       组:元素的值也是用于标识它的

       独特的钥匙:容器中没有两个元素可以具有等效

       分配器感知:容器使用allocator对象来动态处理其存储需求。

注意:unordered_set中的所有迭代器都指向const元素。

参数说明:

 n -- 初始桶的最小数量。 这不是容器中元素的数量,而是构造时内部哈希表所需的最小插槽数。如果未指定此参数,则构造函数会自动确定(以某种方式取决于特定的库实现)

hf -- Hasher功能对象。 hasher是一个函数,它根据作为参数传递给它的容器对象键返回一个整数值.成员类型hash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值