C++ HASHSET

2024年8月28日 | 阅读 4 分钟

由唯一元素组成的无序集合在 C++ 中称为 哈希集合(hashset)。C++ 中包含标准的操作集合,如删除、包含。交集、对称差和并集构成了 C++ 中的标准基于集合的操作。对于项目的识别和搜索,哈希集合中的哈希函数在 C++ 中非常有用。哈希集合在识别列表中的重复项方面发挥着重要作用。通过此哈希函数,我们可以获得不同的值,甚至重复的值。unordered_list (hashset) 所需的时间是 o ( 1 ),这在本质上是常数时间。在其他情况下,所需时间可能是 o (n),这是线性时间。在此背景下,我们将学习 C++ 中关于哈希集合的所有知识。

语法

在 C++ 中插入哈希集合或无序集合的语法(字符串类型)如下所示

C++ 哈希集合的一些示例及其工作机制

unordered_setHashSet 是一个集合,其中键以任何顺序存储。对于 HashSet,有许多函数可用。但最常用的函数如下所述

  1. size 函数用于容量。
  2. empty 函数也用于容量。
  3. find 用于搜索键。
  4. Erase 函数用于修改。
  5. insert 函数也用于修改。

unordered_set 只允许唯一的键,而 unordered_multiset 只允许重复的键。

示例

通过不同类型的示例,C++ HashSet 的整个工作机制解释如下

1) 使用 {……}(即初始化列表)的 C++ 哈希集合示例

在 C++ 中使用 HashSet,给出了一个基本示例,其中我们借助初始化列表 {……} 初始化了集合。

编码

输出

2015
2016
2017

2) 使用二元谓词传递比较对象

使用二元谓词集合,比较对象在下面的给定示例中传递。集合排序是使用两个相同类型的元素定义的。

编码

输出

250
120
80

3) C++ 中使用 insert、iteration、find 和 declaration 的哈希集合示例

在下面的示例中,insert、erase 和 find 操作平均花费常数时间。当键不在集合中时,示例中给出了 find 函数。它返回指向 end()迭代器(Iterator)。另一方面,当键在集合中时,迭代器可以轻松地返回到键的位置。对于作为指针的键值,迭代器用于接收键,并且可以使用 解引用 * 运算符 检索键。

编码

输出

JAVATPOINT one of the best company.

retrieved Programmer

here is the designations :
HR
tester
Programmer
Coder
Developer

When the key data is not found in the order list:
JAVATPOINT one of the best company

Program can not retrieve

here is the designations :
HR
tester
Programmer
Coder
Developer

4) 使用无序集合搜索重复内容

在下面的示例中,提供了一个整数集作为输入,并在集合中找到了重复项并在输出中显示。

代码示例

输出

similar contents are : 9 6

结论

在上述上下文中,我们学习了 C++ 中的 HashSet 及其工作机制。在本文中,我们还学习了 C++ 哈希集合的各种应用,并借助它们工作的不同示例。在查找重复内容和所需内容方面,C++ HashSet 发挥着至关重要的作用。