c++ vectorerase
时间: 2023-10-23 17:11:32 浏览: 22
c++中的vector的erase函数用于删除vector中的元素。根据提供的代码,可以看到有三种不同的方法使用erase函数来删除vector中的元素。代码一中,使用迭代器iter遍历vector,并在遇到值为3的元素时使用erase函数删除该元素。代码二中,使用迭代器it遍历vector,并在遇到值为val的元素时使用erase函数删除该元素。代码三中,也是使用迭代器iter遍历vector,并在遇到值为3的元素时使用erase函数删除该元素。
相关问题
c++vectorerase
在C++中,vector的erase函数用于删除vector数组中的元素。它有两种用法。第一种是erase(position),其中position是一个迭代器,表示要删除的元素的位置。通过这种方式,可以删除指定位置上的元素。第二种是erase(first, last),其中first和last是两个迭代器,表示要删除的元素的范围。通过这种方式,可以删除[first, last)范围内的元素。
以下是一个示例代码,展示了如何使用erase函数从vector数组中删除元素:
```
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 删除指定位置上的元素
vec.erase(vec.begin() + 2); // 删除第三个元素
// 删除指定范围内的元素
vec.erase(vec.begin(), vec.begin() + 2); // 删除前两个元素
// 输出删除后的vector数组
for (auto num : vec) {
std::cout << num << " ";
}
return 0;
}
```
以上代码中,使用erase函数删除了vector数组中的元素,并通过循环输出了删除后的数组。请注意,在erase函数之后,迭代器的位置会发生变化,因此需要注意迭代器的使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [【C++】vector中erase用法](https://blog.csdn.net/Vcrossover/article/details/106243627)[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 ]
C++vectorerase
vector的erase函数用于从容器中删除一个或多个元素。它有两种用法:
1. 删除单个元素:可以通过指定要删除的元素的迭代器来删除该元素。
2. 删除一定范围内的元素:可以通过指定要删除的起始和结束迭代器来删除该范围内的元素。
下面是两种用法的示例代码:
1. 删除单个元素:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 删除值为3的元素
auto it = std::find(numbers.begin(), numbers.end(), 3);
if (it != numbers.end()) {
numbers.erase(it);
}
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出:
```
1 2 4 5
```
2. 删除一定范围内的元素:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// 删除第2个和第3个元素
auto start = numbers.begin() + 1; // 第2个元素的迭代器
auto end = numbers.begin() + 3; // 第4个元素的迭代器(不包括)
numbers.erase(start, end);
for (int num : numbers) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出:
```
1 4 5
```
相关推荐
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)