vector怎么删除元素stl
时间: 2024-09-02 12:03:28 浏览: 64
vector1_STL_C++_vector_
在STL(Standard Template Library)中,`std::vector`是一个动态数组容器,用于存储同类型的元素。如果你想从`vector`中删除某个元素,有几种常见的方式:
1. **erase()函数**:这个函数可以用于删除指定位置的元素。例如,如果你想删除第`i`个元素(从0开始计数),你可以这样做:
```cpp
std::vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + i); // 使用迭代器定位元素并删除
```
或者直接传入要删除元素的引用或迭代器:
```cpp
vec.erase(remove(vec.begin(), vec.end(), target_value), vec.end());
```
这里,`remove()`会移动所有大于目标值的元素向前,然后`erase()`删除已移除所有元素的位置。
2. **pop_back()或pop_front()**:如果你只想删除最后一个或第一个元素,可以直接使用这两个成员函数:
```cpp
vec.pop_back(); // 删除最后一个元素
vec.pop_front(); // 删除第一个元素
```
3. **clear()函数**:如果想一次性删除所有的元素,并将`vector`清空,可以用`clear()`:
```cpp
vec.clear();
```
阅读全文