查找删除vector容器中指定元素
时间: 2023-10-02 11:06:15 浏览: 145
要删除vector容器中的指定元素,你可以使用标准库中的erase-remove惯用法。这个方法结合了erase()函数和remove()算法,可以高效地删除指定元素。
下面是一个示例代码,演示如何删除vector容器中的指定元素:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5, 3, 6, 7, 3};
// 要删除的元素
int target = 3;
// 使用erase-remove惯用法删除指定元素
vec.erase(std::remove(vec.begin(), vec.end(), target), vec.end());
// 打印删除后的vector
for (auto num : vec) {
std::cout << num << " ";
}
return 0;
}
```
在上面的示例中,我们先定义一个包含一些整数的vector容器。然后指定要删除的目标元素为3。接下来,我们使用erase-remove惯用法来删除指定元素。最后,我们遍历并打印删除后的vector。
运行上述代码,将输出:1 2 4 5 6 7,即成功删除了所有值为3的元素。
请注意,这种方法适用于删除单个元素或多个相同值的元素。如果你想要删除满足某个条件的元素,则可以使用更复杂的谓词函数。此外,如果你需要删除多个不同值的元素,也可以多次调用erase-remove惯用法来处理。
阅读全文