<分区>
假设我们有 vector A 和 B 包含对象而不是原始数据。
B vector 将包含有关哪些元素的信息 从 vector A 中删除。如果可能,我不想依赖索引。
我怀疑在 Java 中这可以通过方法调用来完成 将要传递的事物列表移至 removeAll 作为参数删除。
这在 C++ 语言中可能吗?
谢谢!
标签 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/