将向量的元素添加到无序集合
Posted
技术标签:
【中文标题】将向量的元素添加到无序集合【英文标题】:adding elements of a vector to an unordered set 【发布时间】:2012-10-12 01:17:01 【问题描述】:有没有一种简单的方法可以将vector
的所有元素添加到unordered_set
?它们属于同一类型。现在,我正在使用 for 循环,想知道是否有更好的方法来做到这一点
【问题讨论】:
【参考方案1】:如果您正在构建 unordered_set,那么:
std::vector<int> v;
std::unordered_set<int> s(v.begin(), v.end());
【讨论】:
【参考方案2】:如果我的语法有任何小错误,请原谅我,但你可以试试std::copy function,它就是为此目的。
std::vector<int> v;
std::unordered_set<int> s;
std::copy(v.begin(),v.end(),std::inserter(s,s.end()));
【讨论】:
std::inserter
需要插入关联容器。
是的,我知道我错过了什么,已修复。
即使容器重新散列,s.end() 是否仍然有效?
如果 v 为空,则 0 将添加到 s!以上是关于将向量的元素添加到无序集合的主要内容,如果未能解决你的问题,请参考以下文章