c++中vector如何删除元素
时间: 2023-09-22 13:10:36 浏览: 361
在C++中,可以使用vector的erase()函数来删除元素。erase()函数有两种用法:
1. 删除指定位置的元素:可以通过传递迭代器参数来指定要删除的元素位置。例如,要删除vector中的第三个元素,可以使用以下代码:
```cpp
std::vector<int> vec {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第三个元素
```
2. 删除指定值的元素:可以通过传递要删除的元素的值作为参数来删除该值的所有元素。例如,要删除vector中的所有值为3的元素,可以使用以下代码:
```cpp
std::vector<int> vec {1, 2, 3, 4, 3, 5};
vec.erase(std::remove(vec.begin(), vec.end(), 3), vec.end()); // 删除所有值为3的元素
```
在第二种用法中,先使用std::remove()算法将要删除的元素移到vector的末尾,然后再使用erase()函数删除它们。
这些是删除vector中元素的常见方法,希望能对你有帮助!如果你有任何其他问题,请随时提问。
相关问题
c++vector删除函数
以下是三种C++ vector删除函数的介绍和示例:
1. vector::clear():清空vector中的所有元素,使其变为空vector。
```c++
vector<int> vec{1, 2, 3, 4, 5};
vec.clear(); // 清空vector
```
2. vector::erase():删除vector中指定位置或指定范围内的元素,返回指向被删除元素之后的迭代器。
```c++
vector<int> vec{1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第3个元素,即3
vec.erase(vec.begin() + 1, vec.begin() + 3); // 删除第2个和第3个元素,即2和4
```
3. vector::pop_back():删除vector末尾的元素,使其size减1,无返回值。
```c++
vector<int> vec{1, 2, 3, 4, 5};
vec.pop_back(); // 删除最后一个元素,即5
```
c++中vector的使用
在C++中,vector是一种动态数组,可以在运行时动态地调整大小。vector内部使用指针管理元素,但是对于用户来说,它们可以像普通数组一样使用。
以下是使用vector的基本方法:
1. 引入vector库头文件:
```c++
#include <vector>
```
2. 创建一个vector:
```c++
std::vector<int> v; // 创建一个空的vector
```
3. 向vector中添加元素:
```c++
v.push_back(1); // 向vector中添加一个元素1
v.push_back(2); // 向vector中添加一个元素2
v.push_back(3); // 向vector中添加一个元素3
```
4. 访问vector中的元素:
```c++
v[0]; // 访问第一个元素(下标从0开始)
v[1]; // 访问第二个元素
v[2]; // 访问第三个元素
```
5. 获取vector的大小:
```c++
v.size(); // 获取vector中元素的数量(即大小)
```
6. 遍历vector中的元素:
```c++
for (int i = 0; i < v.size(); i++) {
std::cout << v[i] << " "; // 输出每个元素
}
```
7. 删除vector中的元素:
```c++
v.erase(v.begin() + 1); // 删除第二个元素
```
以上是vector的一些基本用法,你可以在实际应用中根据需要使用更多的vector函数。
阅读全文