STL unordered_set使用

STL unordered_set容器使用教程

unordered_set 容器提供了多个构造函数用来创建 unordered_set,我们要创建一个 unordered_set 容器有三种方式,即直接创建一个 unordered_set、创建一个 unordered_set 并初始化和通过 unordered_set 创建 unordered_set。

STL创建unordered_set详解

语法

std::unordered_set<type> values;

参数

参数 描述
type unordered_set 中每个元素的类型。
values unordered_set 类型的变量。

说明

这样,我们创建了一个空的 unordered_set,其值为 type 类型。

STL初始化unordered_set详解

语法

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。

STL使用unordered_set初始化unordered_set详解

语法

std::unordered_set<type> value2(value1);

参数

参数 描述
type unordered_set 中每个元素的类型。
value2 unordered_set 元素变量。
value1 unordered_set 元素变量。

说明

我们使用了 value1 初始化了 value2。

案例

创建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"}; 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,如下图所示:

36_unordered_set.png

我们创建了并初始化了一个 unordered_set,最后,使用迭代器遍历了所有元素。

使用unordered_set初始化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,如下图所示:

37_unordered_set使用.png

我们首先创建了一个 unordered_set,接着,使用了 unordered_set 创建了另一个 unordered_set。

STL unordered_set使用总结

unordered_set 容器提供了多个构造函数用来创建 unordered_set,我们要创建一个 unordered_set 容器有三种方式,即直接创建一个 unordered_set、创建一个 unordered_set 并初始化和通过 unordered_set 创建 unordered_set。