c++ vector 删除元素
时间: 2023-09-05 19:14:49 浏览: 85
C++ vector删除符合条件的元素示例分享
在C++的vector中,有几种方法可以删除元素。一种常见的方法是使用erase()函数,它可以删除指定位置的元素或指定范围的元素。另一种方法是使用pop_back()函数,它可以删除最后一个元素。此外,还可以使用remove()函数来删除指定元素。
以下是几种删除元素的方法的示例代码:
方法一:使用erase()函数删除指定位置的元素
```cpp
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> vec;
for(int i=0; i<10; i++) {
vec.push_back(i);
}
vec.erase(vec.begin() + 5); // 删除第6个元素
for(int i=0; i<vec.size(); i++) {
cout << vec[i << ' ';
}
cout << endl;
return 0;
}
```
方法二:使用find()函数和erase()函数删除指定元素
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
vector<int> vec;
for(int i=0; i<10; i++) {
vec.push_back(i);
}
vector<int>::iterator it = find(vec.begin(), vec.end(), 2);
vec.erase(it); // 删除值为2的元素
for(int i=0; i<vec.size(); i++) {
cout << vec[i << ' ';
}
cout << endl;
return 0;
}
```
根据需求,选择适合的方法进行元素的删除操作。如果需要删除指定位置的元素,可以使用erase()函数,如果需要删除指定值的元素,可以先使用find()函数找到该元素的迭代器,然后再使用erase()函数删除该元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [【c++】vector中删除元素](https://blog.csdn.net/qq_39451578/article/details/115015639)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文