vector删除全部元素
时间: 2023-09-30 15:02:07 浏览: 55
可以使用clear()函数删除vector中的所有元素:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<int> v = {1, 2, 3, 4, 5};
cout << "Vector before clear: ";
for (auto i : v) {
cout << i << " ";
}
cout << endl;
v.clear();
cout << "Vector after clear: ";
for (auto i : v) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
Vector before clear: 1 2 3 4 5
Vector after clear:
```
可以看到,使用clear()函数将vector中的所有元素都删除了。
相关问题
vector删除头元素
在大多数编程语言中,特别是像C++这样的基于数组的动态数据结构(如vector),删除头元素通常涉及到移动内部元素来填补被删除元素的位置。如果你想要从C++的std::vector容器中删除第一个元素,可以使用`pop_back()`或`erase()`函数。
1. `pop_back()`: 这个方法会移除最后一个元素,但如果你想直接删除第一个元素(头元素),你需要先将其移到最后一个位置,然后再移除最后一个元素。例如:
```cpp
std::vector<int> vec = {1, 2, 3};
vec.pop_back(); // 移除最后一个元素
vec[0] = vec.back(); // 将最后一个元素复制到第一个位置
vec.pop_back(); // 现在可以安全地移除第一个元素
```
2. `erase()`: 更直接的方法是使用`erase()`并传入迭代器指向要删除的第一个元素,然后迭代器会自动更新,指向下一个元素。示例如下:
```cpp
std::vector<int> vec = {1, 2, 3};
vec.erase(vec.begin()); // 删除第一个元素
```
注意,这两种方法都不会改变向量的长度,只是改变了内容。如果你需要删除并调整容量,可能需要使用`shrink_to_fit()`来回收空间。
vector 删除指定元素
对于vector删除指定元素,可以使用erase函数来实现。erase函数接受一个迭代器参数,指向要删除的元素的位置,然后将该元素从容器中移除。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
int target = 3;
auto it = std::find(vec.begin(), vec.end(), target);
if (it != vec.end()) {
vec.erase(it);
std::cout << "Element " << target << " removed from vector" << std::endl;
} else {
std::cout << "Element " << target << " not found in vector" << std::endl;
}
return 0;
}
```
阅读全文