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

时间:2012-10-12 01:17:02

标签: c++ vector unordered-set

是否可以轻松地将vector的所有元素添加到unordered_set?它们属于同一类型。现在,我正在使用for循环,并想知道是否有更好的方法来做到这一点

2 个答案:

答案 0 :(得分:26)

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

std::vector<int> v;
std::unordered_set<int> s(v.begin(), v.end());

答案 1 :(得分:12)

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

std::vector<int> v;
std::unordered_set<int> s;
std::copy(v.begin(),v.end(),std::inserter(s,s.end()));