C++ 库 - <unordered_set>


介绍

它是一个关联容器,不按特定顺序存储唯一元素,并且允许根据单个元素的值快速检索各个元素。

定义

以下是 std::unordered_set 的定义

template < class Key,                        
           class Hash = hash<Key>,        
           class Pred = equal_to<Key>,    
           class Alloc = allocator<Key>   
           > class unordered_set;

参数

  • - 它定义元素的类型。

  • 哈希- 它是一个一元函数对象。

  • Pred - 它是一个二元谓词,采用与元素类型相同的两个参数并返回一个布尔值。

  • Alloc - 它定义了allowcater的类型。

会员类型

以下成员类型可以用作成员函数的参数或返回类型。

会员类型 定义 笔记
密钥类型 它是第一个模板参数(Key
值类型 它是第一个模板参数(Key 与key_type相同
散列器 这是第二个模板参数(Hash 默认为:hash<key_type>
键等于 这是第三个模板参数(Pred 默认为:equal_to<key_type>
分配器类型 它是第四个模板参数(Alloc 默认为:分配器<value_type>
参考 分配::引用
常量引用 分配::const_reference
指针 分配::指针 对于默认分配器:value_type*
常量指针 分配::常量指针 对于默认分配器:const value_type*
迭代器 const value_type的前向迭代器 * 可转换为const_iterator
常量迭代器 const value_type的前向迭代器 *
本地迭代器 const value_type的前向迭代器 * 可转换为const_local_iterator
常量局部迭代器 const value_type的前向迭代器 *
尺码类型 无符号整型 通常与 size_t 相同
差异类型 有符号整数类型 通常与 ptrdiff_t 相同

会员功能

以下是成员函数列表

先生。 方法及说明
1 (构造函数)

它构造unordered_set。

2 (析构函数)

它破坏了 unordered_set。

3 运算符=

它用于分配内容。

容量

先生。 容量及描述
1 空的

用于测试容器是否为空。

2 尺寸

它返回容器大小。

3 最大尺寸

它返回最大尺寸。

迭代器

先生。 迭代器和描述
1 开始

它将迭代器返回到开头。

2 结尾

它返回迭代器结束。

3 开始

它将 const_iterator 返回到开头。

4 森德

它返回 const_iterator 结束。

元素查找

先生。 元素查找和描述
1 寻找

它用于获取元素的迭代器。

2 数数

它用于对具有特定键的元素进行计数。

3 相等范围

它用于获取具有特定键的元素范围。

修饰符

先生。 修饰符和描述
1 安置

它用于构造和插入元素。

2 安放提示

它用于构造和插入带有提示的元素。

3 插入

它用于插入元素。

4 擦除

它用于擦除元素。

5 清除

它用于清除内容。

6 交换

它用于交换内容。

水桶

先生。 桶和描述
1 桶数

它返回桶的数量。

2 最大桶数

它返回最大桶数。

3 桶大小

它返回存储桶大小。

4

它定位元素的存储桶。

哈希策略

先生。 哈希策略和描述
1 负载系数

它返回负载因子。

2 最大负载系数

它用于获取或设置最大负载系数。

3 重新散列

它用于设置桶的数量。

4 预订

它提出了对备份容量变化的请求

观察员

先生。 观察者和描述
1 哈希函数

它用于获取哈希函数。

2 关键参数

它用于获取关键等价谓词。

3 获取分配器

它用于获取分配器。

先生。 非成员函数重载及说明
1 运算符(无序集)

它用于获取哈希函数。

2 交换(无序集)

它交换两个 unordered_set 容器的内容。

预定义迭代器

先生。 非成员函数重载及说明
1 运算符(无序集)

它用于获取哈希函数。

2 交换(无序集)

它交换两个 unordered_set 容器的内容。