c++ stl vector删除
时间: 2023-12-25 15:29:53 浏览: 145
在C++ STL中,可以使用vector的erase()函数来删除元素。erase()函数有两种用法:
1. 删除单个元素:可以通过指定要删除的元素的位置来删除单个元素。例如,要删除vector中的第三个元素,可以使用以下代码:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第三个元素
```
2. 删除多个元素:可以通过指定要删除的元素的范围来删除多个元素。例如,要删除vector中的第二个和第三个元素,可以使用以下代码:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 1, vec.begin() + 3); // 删除第二个和第三个元素
```
需要注意的是,erase()函数会改变vector的大小,并且后面的元素会向前移动以填补被删除的元素的空缺。
相关问题
c++ stl vector查找
在C++ STL中,可以使用vector来存储和操作一组元素。要在vector中查找特定的元素,可以使用STL提供的算法函数find。下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 使用find函数查找元素
auto it = std::find(vec.begin(), vec.end(), 3);
// 判断是否找到了元素
if (it != vec.end()) {
std::cout << "找到了元素 " << *it << std::endl;
} else {
std::cout << "未找到元素" << std::endl;
}
return 0;
}
```
运行以上代码,输出结果为:
```
找到了元素 3
```
这段代码首先创建了一个vector对象vec,并初始化了一些整数元素。然后使用std::find函数在vec中查找值为3的元素。如果找到了元素,就输出找到的元素值;如果未找到,则输出未找到的提示。
阅读全文