117.info
人生若只如初见

c++中unordered_set怎么保存两个变量

C++中的`unordered_set`是一个无序的集合容器,用于存储唯一的元素。它存储的元素类型可以是任意自定义类型,包括保存两个变量的情况。

要保存两个变量,可以使用自定义结构体或类作为`unordered_set`的元素类型。下面是一个使用自定义结构体的示例:

```cpp

#include

#include

struct MyPair {

int x;

int y;

};

struct MyPairHash {

size_t operator()(const MyPair& pair) const {

return std::hash()(pair.x) ^ std::hash()(pair.y);

}

};

struct MyPairEqual {

bool operator()(const MyPair& lhs, const MyPair& rhs) const {

return lhs.x == rhs.x && lhs.y == rhs.y;

}

};

int main() {

std::unordered_set mySet;

mySet.insert({1, 2});

mySet.insert({3, 4});

mySet.insert({1, 2}); // 重复的元素不会被插入

for (const auto& pair : mySet) {

std::cout << pair.x << ", " << pair.y << std::endl;

}

return 0;

}

```

在上面的示例中,`MyPair`是自定义的结构体,包含两个整数类型的成员变量`x`和`y`。`MyPairHash`是自定义的哈希函数,用于计算`MyPair`类型的哈希值。`MyPairEqual`是自定义的相等比较函数,用于判断`MyPair`类型的元素是否相等。

在`main`函数中,创建了一个`unordered_set`对象`mySet`,并使用`insert`函数插入了几个`MyPair`类型的元素。注意,重复的元素不会被插入,因为`unordered_set`中的元素是唯一的。

最后,使用范围`for`循环遍历`mySet`,并输出每个`MyPair`类型元素的成员变量`x`和`y`的值。

你可以根据自己的需求自定义`MyPair`结构体的成员变量和哈希函数、相等比较函数。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe25aAzsLAQBWBFU.html

推荐文章

  • C++ vector::shrink_to_fit()实例讲解

    vector::shrink_to_fit()是C++标准库中vector容器的一个成员函数,用于将vector的容量调整为与其实际大小相匹配的最小值。该函数可以在删除了一些元素后,将容器...

  • C++ beta(), betaf() and betal()实例讲解

    Sure! Let’s start with the explanation of each function: beta(): This function is used to calculate the beta value in statistics. The beta value is a...

  • C# Graphics.DrawLine()函数实例讲解

    Graphics.DrawLine()函数用于在指定的两个点之间绘制一条直线。
    下面是一个使用Graphics.DrawLine()函数绘制直线的示例:
    using System;
    using S...

  • C++ fprintf()实例讲解

    fprintf() 函数用于将数据写入到文件中。它的原型如下:
    int fprintf(FILE *stream, const char *format, ...) 其中,stream 是指向 FILE 对象的指针,用于...

  • mysql怎么使用索引查询数据

    要使用索引查询数据,可以按照以下步骤进行:1、创建索引:首先,在需要加索引的列上创建索引。你可以通过使用CREATE INDEX语句来创建索引。例如,以下语句创建一...

  • 幻兽帕鲁异界大叔在哪里

    幻兽帕鲁异界大叔是一款游戏中的角色,您可以在游戏中寻找该角色。具体来说,您可以通过以下方式找到幻兽帕鲁异界大叔:1. 游戏地图:在游戏中,您可以查看游戏地...

  • 幻兽帕鲁服务器购买如何选择硬件配置

    选择幻兽帕鲁服务器的硬件配置时,可以考虑以下几个因素:1. 处理器(CPU):选择具有较高的核心数和较高的时钟频率的处理器,以提供更好的性能。2. 内存(RAM)...

  • 幻兽帕鲁服务器被攻击怎么解决

    如果幻兽帕鲁服务器遭到攻击,可以采取以下措施来解决问题:1. 隔离服务器:立即将受攻击的服务器从网络中隔离,以阻止攻击者进一步侵入系统或利用服务器进行其他...