将向量的元素添加到无序集

jam*_*tha 22 c++ vector unordered-set

有没有一种简单的方法可以将a的所有元素添加vectorunordered_set?它们属于同一类型.现在,我正在使用for循环,并想知道是否有更好的方法来做到这一点

myt*_*gel 28

如果你正在构建unordered_set,那么:

std::vector<int> v;
std::unordered_set<int> s(v.begin(), v.end());
Run Code Online (Sandbox Code Playgroud)


Kar*_*k T 14

请原谅我,如果我的语法有任何小错误,但你可以尝试std :: copy函数,它的意思是为了这个目的.

std::vector<int> v;
std::unordered_set<int> s;
std::copy(v.begin(),v.end(),std::inserter(s,s.end()));
Run Code Online (Sandbox Code Playgroud)

  • 需要 `std::inserter` 才能插入关联容器。 (2认同)
  • 即使容器重新散列,s.end() 仍然有效吗? (2认同)