如何将 unordered_set 存储到向量中?
How to store unordered_set to a vector?
我想用一个向量存储几个unordered_set。
这是我的测试代码:
#include <unordered_set>
#include <vector>
using namespace std;
int main(){
vector<unordered_set<int>> v1;
unordered_set<int> s1 = {1,2}, s2 = {3,2};
v1[0] = s1;
v1[1] = s2;
for (auto &s : v1[0]) {
cout << s << " ";
}
}
然后我得到 Segmentation fault (core dumped)
.
我的问题是:我应该如何修改我的代码?
您的代码的问题在于您的向量没有元素 0 和 1。使用所需数量的元素初始化向量,或将元素插入空向量,如下所示:
int main(){
vector<unordered_set<int>> v1;
unordered_set<int> s1 = {1,2}, s2 = {3,2};
v1.push_back(s1);
v1.push_back(s2);
for (auto &s : v1[0]) {
cout << s << " ";
}
}
我想用一个向量存储几个unordered_set。
这是我的测试代码:
#include <unordered_set>
#include <vector>
using namespace std;
int main(){
vector<unordered_set<int>> v1;
unordered_set<int> s1 = {1,2}, s2 = {3,2};
v1[0] = s1;
v1[1] = s2;
for (auto &s : v1[0]) {
cout << s << " ";
}
}
然后我得到 Segmentation fault (core dumped)
.
我的问题是:我应该如何修改我的代码?
您的代码的问题在于您的向量没有元素 0 和 1。使用所需数量的元素初始化向量,或将元素插入空向量,如下所示:
int main(){
vector<unordered_set<int>> v1;
unordered_set<int> s1 = {1,2}, s2 = {3,2};
v1.push_back(s1);
v1.push_back(s2);
for (auto &s : v1[0]) {
cout << s << " ";
}
}