unordered_set 容器提供了多个构造函数用来创建 unordered_set,我们要创建一个 unordered_set 容器有三种方式,即直接创建一个 unordered_set、创建一个 unordered_set 并初始化和通过 unordered_set 创建 unordered_set。
std::unordered_set<type> values;
参数 | 描述 |
---|---|
type | unordered_set 中每个元素的类型。 |
values | unordered_set 类型的变量。 |
这样,我们创建了一个空的 unordered_set,其值为 type 类型。
std::unordered_set<type> values {val1, val2, val3};
参数 | 描述 |
---|---|
type | unordered_set 中每个元素的类型。 |
val1 | unordered_set 中每个元素的值。 |
val2 | unordered_set 中每个元素的值。 |
val3 | unordered_set 中每个元素的值。 |
values | unordered_set 类型的变量。 |
这样,我们创建了一个 unordered_set,其中有三个元素,分别为 val1,val2,val3。
std::unordered_set<type> value2(value1);
参数 | 描述 |
---|---|
type | unordered_set 中每个元素的类型。 |
value2 | unordered_set 元素变量。 |
value1 | unordered_set 元素变量。 |
我们使用了 value1 初始化了 value2。
创建一个 unordered_set,并初始化
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
unordered_set<string> unordered_set1{"HaiCoder", "www.haicoder.net"};
for (auto i = unordered_set1.begin(); i != unordered_set1.end(); i++)
{
cout << *i << endl;
}
return 0;
}
因为,这里需要使用 C++ 11,因此,我们在 Linux 下使用 g++ 进行编译,具体命令如下:
g++ unordered_set.cpp -std=c++11
编译后,我们直接运行生成的二进制文件 a.out
,如下图所示:
我们创建了并初始化了一个 unordered_set,最后,使用迭代器遍历了所有元素。
创建一个 unordered_set,并使用 unordered_set 初始化 unordered_set
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
unordered_set<string> unordered_set1{"haicoder", "www.haicoder.net"};
unordered_set<string> unordered_set2(unordered_set1);
for (auto i = unordered_set2.begin(); i != unordered_set2.end(); i++)
{
cout << *i << endl;
}
return 0;
}
编译后,我们直接运行生成的二进制文件 a.out
,如下图所示:
我们首先创建了一个 unordered_set,接着,使用了 unordered_set 创建了另一个 unordered_set。
unordered_set 容器提供了多个构造函数用来创建 unordered_set,我们要创建一个 unordered_set 容器有三种方式,即直接创建一个 unordered_set、创建一个 unordered_set 并初始化和通过 unordered_set 创建 unordered_set。