c++中vector删除元素
时间: 2024-02-13 09:59:08 浏览: 184
在C++中,可以使用vector的erase()函数来删除元素。erase()函数接受一个迭代器参数,指定要删除的元素位置。以下是删除vector中元素的几种常见方法:
1. 删除指定位置的元素:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第3个元素,即数字3
```
2. 删除指定值的元素:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
auto it = find(vec.begin(), vec.end(), 3); // 查找值为3的元素
if (it != vec.end()) {
vec.erase(it); // 删除值为3的元素
}
```
3. 删除一定范围内的元素:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 1, vec.begin() + 4); // 删除第2个到第4个元素,即数字2、3、4
```
需要注意的是,在使用erase()函数删除元素后,vector的大小会自动调整。
相关问题
c++ 里vector删除元素
在 C++ 中,可以使用 vector 的 erase() 函数来删除元素。erase() 函数接受一个迭代器参数,指向要删除的元素。例如,删除 vector v 中的第 i 个元素,可以使用以下代码:
```
v.erase(v.begin() + i);
```
其中,v.begin() 返回一个指向 vector 开头的迭代器,加上 i 就是指向第 i 个元素的迭代器。
如果要删除多个元素,可以使用 erase() 函数的另一个重载版本,该版本接受两个迭代器参数,指定要删除的元素范围。例如,删除 vector v 中从第 i 个元素到第 j 个元素(不包括第 j 个元素),可以使用以下代码:
```
v.erase(v.begin() + i, v.begin() + j);
```
c++ vector 删除元素
在C++中,vector是一个动态数组容器,可以方便地进行元素的插入、删除和访问操作。要删除vector中的元素,可以使用erase()函数或者使用pop_back()函数。
1. 使用erase()函数删除指定位置的元素:
vector提供了erase()函数,可以删除指定位置的元素。该函数接受一个迭代器参数,指向要删除的元素位置。删除后,后面的元素会自动向前移动填补空缺。
例如,要删除vector中的第三个元素,可以使用以下代码:
```
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第三个元素
```
2. 使用pop_back()函数删除最后一个元素:
pop_back()函数用于删除vector中的最后一个元素。该函数不接受任何参数,直接将最后一个元素删除。
例如,要删除vector中的最后一个元素,可以使用以下代码:
```
vector<int> vec = {1, 2, 3, 4, 5};
vec.pop_back(); // 删除最后一个元素
```
需要注意的是,使用erase()函数删除元素时,要确保传入的迭代器指向有效的元素位置,否则可能会导致未定义行为。此外,删除元素后,vector的大小会相应减小。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.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)