c++ vector怎么删除
时间: 2023-11-08 20:03:56 浏览: 328
在 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删除元素,可以使用vector的erase()函数。erase()函数接受一个迭代器参数,指向要删除的元素。具体的操作步骤如下所示:
1. 首先,包含头文件iostream和vector。
2. 创建一个vector,并初始化它的元素。
3. 使用for循环打印出原始的vector中的所有元素。
4. 使用erase()函数删除指定位置的元素,传入要删除元素的迭代器位置。
5. 使用for循环打印删除后的vector中的所有元素。
下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
// 创建一个vector
vector<int> myVec = {1, 2, 3, 4, 5};
// 打印vector中的所有元素
cout << "Original vector: ";
for (int i : myVec) {
cout << i << " ";
}
cout << endl;
// 删除第三个元素
myVec.erase(myVec.begin() + 2);
// 打印删除后的vector
cout << "Modified vector: ";
for (int i : myVec) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
在上述示例代码中,我们首先创建了一个包含5个整数的vector,并初始化它的元素。然后使用for循环打印出原始的vector中的所有元素。接下来,使用erase()函数删除了第三个元素(索引为2)。最后,再次使用for循环打印出删除后的vector中的所有元素。
通过这种方式,我们可以在C++中使用vector的erase()函数来删除指定位置的元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [在C++中,如何把vector中的某一项删除](https://blog.csdn.net/Ausma/article/details/129489549)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [【C++】vector插入/删除元素](https://blog.csdn.net/xi_shui/article/details/122114607)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]