C++删除vector第那个
时间: 2023-11-25 07:05:55 浏览: 29
要删除vector中的第n个元素,可以使用vector的erase()函数,如下所示:
```
vector<int> vec = {1, 2, 3, 4, 5};
int n = 3; // 要删除第3个元素
vec.erase(vec.begin() + n - 1);
```
在这个例子中,我们创建了一个包含5个整数的vector,要删除第3个元素(即数字3),所以我们使用了erase()函数,传入一个迭代器,该迭代器指向要删除的元素,这里我们使用了vec.begin() + n - 1,它将指向vector中的第3个元素。注意,vector的下标从0开始,所以我们需要将n减1。这将删除元素3,并将vector调整为{1, 2, 4, 5}。
相关问题
c++ stl vector删除
在C++ STL中,可以使用vector的erase()函数来删除元素。erase()函数有两种用法:
1. 删除单个元素:可以通过指定要删除的元素的位置来删除单个元素。例如,要删除vector中的第三个元素,可以使用以下代码:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第三个元素
```
2. 删除多个元素:可以通过指定要删除的元素的范围来删除多个元素。例如,要删除vector中的第二个和第三个元素,可以使用以下代码:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 1, vec.begin() + 3); // 删除第二个和第三个元素
```
需要注意的是,erase()函数会改变vector的大小,并且后面的元素会向前移动以填补被删除的元素的空缺。
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,以确认指定元素已被删除。