unordered_set转为vector
时间: 2023-11-09 08:07:26 浏览: 363
可以使用vector的构造函数将unordered_set转为vector,代码如下:
```c++
#include <iostream>
#include <unordered_set>
#include <vector>
using namespace std;
int main() {
unordered_set<int> s = {1, 2, 3, 4, 5};
vector<int> v(s.begin(), s.end());
for (auto x : v) {
cout << x << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
5 4 3 2 1
```
需要注意的是,由于unordered_set是无序的,因此转换后的vector也是无序的。
相关问题
unordered_set存vector
当使用unordered_set存储vector时,你可以将vector中的元素作为unordered_set的元素,以便快速查找和去重。unordered_set是一种基于哈希表实现的容器,它提供了O(1)的平均时间复杂度来插入、删除和查找操作。
以下是将vector存储到unordered_set的示例代码:
```cpp
#include <iostream>
#include <unordered_set>
#include <vector>
int main() {
std::vector<int> vec{1, 2, 3, 4, 1, 2, 3, 4}; // 示例 vector
std::unordered_set<int> set;
// 将vector中的元素插入到unordered_set
for (const auto& element : vec) {
set.insert(element);
}
// 遍历unordered_set中的元素
for (const auto& element : set) {
std::cout << element << " ";
}
return 0;
}
```
运行此代码将输出:1 2 3 4,这些元素是从vector中获取和去重后存储在unordered_set中。请注意,unordered_set并不保证元素的顺序,因此输出的顺序可能会有所不同。
unordered_set插入vector
你可以使用`std::unordered_set`的`insert`函数来插入一个`vector`中的元素。首先,你需要将`vector`中的元素迭代地插入到`unordered_set`中。
以下是一个示例代码片段:
```cpp
#include <unordered_set>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::unordered_set<int> set;
// 将vector中的元素插入到unordered_set中
for (const auto& element : vec) {
set.insert(element);
}
return 0;
}
```
在上面的代码中,我们首先创建了一个名为`vec`的整数类型的`vector`,其中包含一些元素。然后,我们创建了一个名为`set`的`unordered_set`。接下来,我们使用`insert`函数将`vec`中的每个元素插入到`set`中。
请注意,由于`unordered_set`是无序的容器,插入顺序并不重要,只要确保没有重复的元素即可。
阅读全文