c++vector删除元素
时间: 2023-12-22 09:29:42 浏览: 77
以下是C++中删除vector元素的三种方法:
1. 使用`vector::erase()`方法删除指定位置的元素:
```cpp
vector<int> vec{1, 4, 3, 2, 5, 2};
auto it = vec.begin();
while (it != vec.end()) {
if (*it < 3) {
cout << "num is " << *it << endl;
it = vec.erase(it);
} else {
++it;
}
}
```
2. 使用`vector::pop_back()`方法删除末尾的元素:
```cpp
vector<int> vec{1, 4, 3, 2, 5, 2};
while (!vec.empty()) {
int num = vec.back();
if (num < 3) {
cout << "num is " << num << endl;
}
vec.pop_back();
}
```
3. 使用`vector::clear()`方法清空整个vector:
```cpp
vector<int> vec{1, 4, 3, 2, 5, 2};
vec.clear();
```
相关问题
C++ vector 删除元素
在C++中,可以使用`std::vector::erase()`方法来删除`std::vector`中的元素。该方法接受一个迭代器参数,指定要删除的元素位置。以下是一个示例:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 删除指定位置的元素
vec.erase(vec.begin() + 2); // 删除第3个元素,即数字3
// 删除指定范围的元素
vec.erase(vec.begin(), vec.begin() + 2); // 删除前两个元素,即数字1和2
// 删除最后一个元素
vec.pop_back();
// 输出剩余的元素
for (int num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:4 5,表示删除了数字1、2和3,剩下了数字4和5。
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的大小会相应减小。
阅读全文