C++ vector 定向删除
时间: 2024-06-15 20:02:44 浏览: 8
C++中的vector是一个动态数组,可以在运行时调整大小。要删除vector中的元素,可以使用erase()函数或者使用remove()函数结合erase()函数来实现。
使用erase()函数可以直接删除指定位置的元素,其语法如下:
```cpp
vector_name.erase(vector_name.begin() + index);
```
其中,vector_name是要删除元素的vector的名称,index是要删除元素的位置。
使用remove()函数结合erase()函数可以删除指定值的元素,其语法如下:
```cpp
vector_name.erase(remove(vector_name.begin(), vector_name.end(), value), vector_name.end());
```
其中,vector_name是要删除元素的vector的名称,value是要删除的元素的值。
这样,通过调用erase()函数,可以实现对vector中元素的定向删除。
相关问题
c++vector删除函数
以下是三种C++ vector删除函数的介绍和示例:
1. vector::clear():清空vector中的所有元素,使其变为空vector。
```c++
vector<int> vec{1, 2, 3, 4, 5};
vec.clear(); // 清空vector
```
2. vector::erase():删除vector中指定位置或指定范围内的元素,返回指向被删除元素之后的迭代器。
```c++
vector<int> vec{1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第3个元素,即3
vec.erase(vec.begin() + 1, vec.begin() + 3); // 删除第2个和第3个元素,即2和4
```
3. vector::pop_back():删除vector末尾的元素,使其size减1,无返回值。
```c++
vector<int> vec{1, 2, 3, 4, 5};
vec.pop_back(); // 删除最后一个元素,即5
```
c++ vector怎么删除
在 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());
```
上述代码会删除所有偶数。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)