Javatpoint标志
Javatpoint标志

在c++无序集

概述

在c++中,一组无序的数据结构是一个容器,用来保存元素而不考虑他们的订单。本文涵盖了一系列广泛的话题,包括一组无序是什么,如何创建并初始化一个在C + +,以及它如何与一组的不同之处在于,语言。为了充分理解如何无序集函数在c++中,以及它如何可能被利用,我们还将研究各种例子和示例代码。

什么c++的无序集的意思吗?

介绍

在c++中,一个无序集就像一个容器的数据结构。这意味着我们可以存储各种材料。一组无序的独特之处在于,它只包含单一的组件。在c++中,一组无序仍将只包含重复元素的一个实例,如果你介绍它。这个容器还存储组件的特性在任何序列。因此,c++的无序集不同,元素存储在升序排序。

让我们用一个例子来了解一个无序的集合元素存储在C + +。如果我们添加条目1、4、9、2、1和10在c++一组无序,无序集将出现如下:

正如您可以看到的,元素1的复制被淘汰,没有特定的顺序应放置的元素。

无序集非常有用当你需要快速、准确地确定一个特定的元素集合中至少出现一次的元素,计算不同的组件的数量,或两者兼而有之。在下一节中,我们将进入更详细的关于无序集C + +的复杂性。

如何创建一个无序集?

现在,我们都知道一个无序的目的可以使用c++,看看如何创建一个可能。

首先,无序集>头文件包含头库,使我们能够在c++中使用一组无序。我们必须包含这个函数的开头,在c++中使用一组无序。

语法:

在c++中,使用以下语法来声明一个空无序集:

元素的数据类型将被添加到无序集由数据类型表示。

如何初始化一组无序?

创建一个空的无序集在c++中被覆盖。然而,如果你想建立一个已经包含一些元素的无序集,您必须首先导入无序集>头文件。初始化一组无序在c++中使用下面的语法:

这两种方法都将导致相同的结果。e1, e2, e3, e4,……是项插入创建无序集时,显示的数据类型和数据类型的元素会被插入到无序集。

让我们看看一些无序的c++代码设置功能。

如何是c++的无序集的内部实现做了什么?

无序集c++创建和初始化了,但组件存储在这些容器内部怎么样?哈希表是用来实现c++的无序集。因此,每个元素添加到我们的无序集经历产生一个哈希散列操作键,然后保存在哈希表。无序集的c++元素随机和存储在没有特定的顺序,因为哈希关键取决于通过随机生成函数和方法。

另一个原因是哈希函数的底层复杂性影响的复杂性无序集合。所有操作在c++通常需要一组无序O (1)持续时间,但在最坏的情况下,他们可以O (n)时间,这非常罕见。

与无序集合

一组是一个额外的容器元素在c++中几乎相同的一组无序。一组无序与一组的不同之处在于,它存储其独特的元素随机,没有特定的顺序,而一套价值递增的顺序安排。

因为一个哈希表是用来实现一组无序在c++中,我们之前,存储在随机顺序的元素。另一方面,c++实现了平衡树,让它保持元素的顺序。

这个变化实现影响时间复杂度和各种操作的容器。而在c++的平均时间复杂度O (log (n))的无序集平均时间复杂度O (1)所有操作。但随着n元素存储在它们的数量,这两个空间的复杂性O (n)

在c++中无序集方法

让我们看看一个无序的许多方法,可以利用设置在c++中,连同他们的语法和计算的要求。

方法名称 描述 语法 时间复杂度
insert () 它是利用无序集添加一个新元素。 set_name.insert(元素); 0 (1)
开始() 其返回一个迭代器通过无序集合的第一个元素。 set_name.begin (); 0 (1)
结束() 最后一个元素的迭代器返回无序集。最后一个元素后的位置无序集表示的迭代器。 set_name.end (); 0 (1)
count () 在无序集,它用于确定是否存在一个元素。如果元素存在,它收益率1,否则返回0。 set_name.count(元素); 0 (1)
尺寸() 它是用来返回无序集的大小或数量的新添加了独特的作品。 set_name.size (); 0 (1)
find () 迭代器指向一个特定值的无序集位于并返回使用这种方法。如果所请求的元素不能定位,迭代器返回无序集的结束。 set_name.find (\ * itr); 0 (1)
空() 它是用来确定是否无序集是空的。如果无序集是空的,它的收益率1,否则返回0。 set_name.empty () O (1)
删除() 它是用来使用迭代器来删除一个特定元素或一组元素的无序集合。 set_name.erase (* itr);或set_name。擦除(* itr_begin * itr_end); 0(删除的元素数量)
clear () 无序集完全清空使用它。 set_name.clear (); 0(元素)

如何遍历一组无序的c++元素

在c++中,我们可以使用索引数组遍历,但没有所谓的指数在一组无序。另一方面,迭代器指针的各种物品无序集。我们可以遍历无序集使用这些迭代器和它的所有物品。

在前一节中得到体现的开始()方法返回一个迭代器指向的无序集合,可以启动我们的循环。循环的终止条件我们将迭代器无序集的最后一个元素后,将返回的结束()方法。

输出

21 81 7 31 15 11

在上面的代码中,我们迭代,直到我们到达终点迭代器初始化后的迭代器开始无序集。在c++中,我们可以探索一个无序集的元素以以下方式。

结论

在c++中,一组无序容器数据结构,用于存储不同的元素不考虑它们的顺序。的无序集>头文件包含头库,使我们能够利用一组无序在c++中。

哈希表是用来实现c++的无序集。所有操作在一个无序集在c++中一般O (1)持续时间,但他们偶尔可以O (n)时间。

不同于无序集合在c++中,它使用一个平衡树结构来实现并保持独特的元素以升序排序。

在c++中,可以访问一组无序使用各种功能,包括insert(),(),(),(),大小空(),清洁()、删除(),count (), ()


下一个话题 #





Youtube 加入我们的Youtube频道视频:现在加入

反馈


帮助别人,请分享

脸谱网 推特 pinterest

学习最新的教程


准备


热门的技术


B。科技/ MCA






Baidu
map