c++ vector怎么删除
时间: 2023-11-08 15:03:56 浏览: 390
在 C++ 中,可以使用erase函数来删除vector中的元素。erase函数接受一个迭代器参数,表示要删除的元素位置。以下是删除vector中元素的几种常见方式:
1. 删除指定位置的元素:
```cpp
vector<int> nums = {1, 2, 3, 4, 5};
vector<int>::iterator it = nums.begin() + 2; // 删除第3个元素
nums.erase(it);
```
2. 删除指定范围内的元素:
```cpp
vector<int> nums = {1, 2, 3, 4, 5};
vector<int>::iterator start = nums.begin() + 1; // 删除第2个到第4个元素
vector<int>::iterator end = nums.begin() + 4;
nums.erase(start, end);
```
3. 删除满足某个条件的元素:
```cpp
vector<int> nums = {1, 2, 3, 4, 5};
nums.erase(std::remove_if(nums.begin(), nums.end(), [](int num) { return num % 2 == 0; }), nums.end());
```
上述代码会删除所有偶数。
相关问题
c++vector 删除
要删除 C++ 中的 vector 中的元素,可以使用 erase 函数。erase 函数接受一个迭代器参数,指向要删除的元素,或者指向要删除的第一个元素。例如,删除 vector 中的第二个元素可以这样实现:
```
vector<int> vec = {1, 2, 3, 4, 5};vec.erase(vec.begin() + 1);
```
这里的 `vec.begin() + 1` 就是一个迭代器,指向 vector 中的第二个元素。调用 `erase` 函数后,第二个元素会被删除,vector 中的内容变为 `{1, 3, 4, 5}`。
如果要删除多个元素,可以同时传入两个迭代器,它们分别指向要删除的第一个元素和最后一个元素的下一个位置。例如,删除 vector 中前三个元素可以这样实现:
```
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin(), vec.begin() + 3);
```
这里的 `vec.begin()` 就是一个迭代器,指向 vector 中的第一个元素。调用 `erase` 函数后,前三个元素会被删除,vector 中的内容变为 `{4, 5}`。
c++ vector 删除
在C++中,可以使用vector的erase()函数来从vector中删除元素。该函数接受一个迭代器参数,指向要删除的元素。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
// 创建一个vector
vector<int> myVec = {1, 2, 3, 4, 5};
// 删除第三个元素
myVec.erase(myVec.begin() + 2);
// 打印删除后的vector
for (int i : myVec) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
在这个例子中,我们首先创建了一个包含1到5的vector。然后使用erase()函数删除了第三个元素,即索引为2的元素。最后,我们遍历vector并打印删除后的结果。输出将会是:1 2 4 5。这些方法可以根据具体情况选择使用。
阅读全文