vector容器中删除一个元素
时间: 2023-05-20 21:06:03 浏览: 68
可以使用erase()函数来删除vector容器中的一个元素,例如:
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第三个元素,即3
// 现在vec中的元素为{1, 2, 4, 5}
相关问题
删除vector容器的第一个元素
你可以使用 `erase` 函数来删除 vector 容器的第一个元素。下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> myVector = {1, 2, 3, 4, 5};
// 删除第一个元素
myVector.erase(myVector.begin());
// 打印剩余元素
for (int num : myVector) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:2 3 4 5
在上述代码中,`erase` 函数的参数是要删除的元素的迭代器。使用 `myVector.begin()` 可以获取到第一个元素的迭代器,然后将其作为参数传递给 `erase` 函数即可删除该元素。
查找删除vector容器中指定元素
要删除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惯用法来处理。