c++ - 是否可以根据来自另一个 vector 的信息从一个 vector 中删除某些元素?

标签 c++ vector containers

<分区>

假设我们有 vector A 和 B 包含对象而不是原始数据。

B vector 将包含有关哪些元素的信息 从 vector A 中删除。如果可能,我不想依赖索引。

我怀疑在 Java 中这可以通过方法调用来完成 将要传递的事物列表移至 removeAll 作为参数删除。

这在 C++ 语言中可能吗?

谢谢!

最佳答案

如果 vector 已排序,您可以使用 std::set_difference。事实上,如果你不先对它们进行排序,就复杂性而言,你不可能比 n^2 更好。所以我的建议是:对 vector 进行排序并使用 set_difference。

关于c++ - 是否可以根据来自另一个 vector 的信息从一个 vector 中删除某些元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20289364/

相关文章:

c++ - 如何创建所有缺少一个元素的样本 vector 的 vector ?

C++ vector 复制赋值,调用其元素的哪种复制机制?

matlab - 定义具有多个无法组织成矩阵的输出的函数

c++ - 一维谐振子递归函数,可能无限循环,c++ 语法

c++ - 如何将表面对象绑定(bind)到二维倾斜阵列?

c++ - 链接到我的主目录中的共享对象文件

list - 列表和数组的区别

c++ - boost::hana 如何检查类型是否为 std::optional?

docker run 命令结束于 : nginx: [emerg] unknown directive “events” in/etc/nginx/nginx. conf:1

java - 在 Java 中为容器指定自定义 equals 和 hash 函数