c++ 如何删除vector 指定元素
时间: 2023-08-13 20:03:10 浏览: 368
你可以使用C++中的 erase() 函数来删除 vector 中的指定元素。erase() 函数接受一个迭代器参数,该迭代器指向要删除的元素,具体步骤如下:
1. 首先,需要找到要删除元素的位置,可以使用find()函数或者是自己遍历vector来找到该元素的迭代器。
2. 然后,使用erase()函数删除该元素,erase()函数接受一个迭代器参数,指向要被删除的元素。
下面是一个示例代码,演示如何删除vector中的指定元素:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec{ 1, 2, 3, 4, 5 };
auto it = find(vec.begin(), vec.end(), 3); // 查找要删除的元素
if (it != vec.end()) { // 如果找到了
vec.erase(it); // 删除元素
}
for (auto i : vec) {
cout << i << " "; // 输出剩余的元素
}
return 0;
}
```
输出结果为:1 2 4 5,即删除了元素3。
相关问题
C++ 删除vector指定元素
要删除 vector 中的指定元素,可以使用 erase() 函数,该函数接受一个迭代器作为参数,指定要删除元素的位置。以下是一个示例代码,演示如何删除 vector 中指定元素:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec = {1, 2, 3, 4, 5};
int elem = 3; // 要删除的元素
for (auto it = vec.begin(); it != vec.end(); ) {
if (*it == elem)
it = vec.erase(it); // 删除元素
else
++it;
}
// 输出删除后的 vector
for (auto i : vec)
cout << i << " ";
cout << endl;
return 0;
}
```
在上面的代码中,我们使用了一个 for 循环遍历 vector 中的元素,并在找到指定元素时使用 erase() 函数将其删除。注意,每次删除后迭代器需要重新赋值,以便指向下一个元素。最后,我们输出删除后的 vector,以确认指定元素已被删除。
C++删除vector指定下标的元素
可以使用vector的erase函数来删除指定下标的元素。具体操作如下:
```c++
vector<int> vec = {1, 2, 3, 4, 5};
int index = 2; // 要删除的元素下标
vec.erase(vec.begin() + index); // 删除指定下标的元素
```
以上代码将删除vec中下标为2的元素,也就是3。注意,erase函数的参数是一个迭代器,需要使用`vec.begin() + index`来获取要删除元素的迭代器。
阅读全文