gpt4 book ai didi

c++ - 在 std::set 中查找 std::vector 的元素

转载 作者:搜寻专家 更新时间:2023-10-31 02:10:19 25 4
gpt4 key购买 nike

我有两个容器 std::setstd::vector 我的任务是从 std::vector 返回元素存在于 std::set 中。实现它的最有效方法是什么?简单的解决方案:遍历 vector 的元素并对每个元素调用 set.find,如果找不到则调用 vector.erase

最佳答案

只查找每个元素怎么样?如果您的 vector 未排序,则无法解决 n log(n)

#include <algorithm>

std::vector<int> result;
for(auto&& el: myvector) {
auto it_found = myset.find(el);
if(it != myset.end())
result.push_back(*it_found);
}

现在 result 具有两者中的所有元素。

PS:代码未编译,可能有小错误。

关于c++ - 在 std::set 中查找 std::vector 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45484494/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com