cpp unordered_set如何加入一个元素?
时间: 2023-07-20 08:26:52 浏览: 82
你可以使用`unordered_set`的成员函数`insert()`来向`unordered_set`中添加元素。`insert()`函数会将新元素插入到`unordered_set`中,并返回一个`pair`类型的值,第一个元素是一个迭代器,指向新插入的元素,第二个元素是一个布尔值,表示插入是否成功。如果`unordered_set`中已经有了该元素,则插入失败,返回的布尔值为`false`。
下面是向`unordered_set`中添加元素的示例代码:
```
#include <unordered_set>
#include <iostream>
int main() {
std::unordered_set<int> mySet;
mySet.insert(1); // 向mySet中添加元素1
mySet.insert(2); // 向mySet中添加元素2
mySet.insert(3); // 向mySet中添加元素3
// 遍历mySet中的元素
for (auto it = mySet.begin(); it != mySet.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
3 2 1
```
需要注意的是,`unordered_set`中的元素是无序的,因此遍历输出的顺序可能与插入的顺序不同。
相关问题
cpp unordered_set查找一个元素是否存在?
可以使用unordered_set的find()函数来查找一个元素是否存在。如果元素存在,则find()函数返回指向该元素的迭代器,如果元素不存在,则返回unordered_set的end()迭代器。示例代码如下:
```cpp
#include <iostream>
#include <unordered_set>
using namespace std;
int main() {
unordered_set<int> mySet = {1, 2, 3, 4, 5};
int target = 3;
auto iter = mySet.find(target);
if (iter != mySet.end()) {
cout << "元素 " << target << " 存在" << endl;
} else {
cout << "元素 " << target << " 不存在" << endl;
}
return 0;
}
```
运行结果为:
```
元素 3 存在
```
在实际应用中,我们可以根据find()函数的返回值来判断元素是否存在,从而进行相应的处理。
cpp中unordered_set如何查询元素?
使用 `unordered_set` 查询元素可以使用 `find()` 函数,该函数返回一个迭代器,如果元素存在于 `unordered_set` 中,则迭代器指向该元素,否则迭代器指向 `unordered_set` 的末尾。以下是一个使用 `unordered_set` 查询元素的示例代码:
```cpp
#include <iostream>
#include <unordered_set>
int main()
{
std::unordered_set<int> my_set = {1, 2, 3, 4, 5};
int key = 3;
auto it = my_set.find(key);
if (it != my_set.end()) {
std::cout << "Element " << key << " found in my_set\n";
} else {
std::cout << "Element " << key << " not found in my_set\n";
}
return 0;
}
```
在上面的示例中,我们创建了一个 `unordered_set`,然后使用 `find()` 函数查询元素 `3` 是否存在于 `unordered_set` 中。如果元素存在,则输出 `"Element 3 found in my_set"`,否则输出 `"Element 3 not found in my_set"`。
阅读全文