c++的vector中删除元素
时间: 2023-10-13 21:19:44 浏览: 69
要从C++的标准库vector中删除元素,你可以使用erase函数。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 删除第三个元素
vec.erase(vec.begin() + 2);
// 打印剩余的元素
for (const auto& num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个示例中,我们使用`erase`函数删除了vector中的第三个元素。注意,vector的索引是从0开始的,所以`vec.begin() + 2`表示第三个元素的迭代器。运行这段代码将输出:`1 2 4 5`,即删除了数字3。
你可以根据需要修改代码适应不同的情况。希望能帮到你!如果还有其他问题,请继续提问。
相关问题
c++中vector删除元素
在C++中,可以使用vector的erase()函数来删除元素。erase()函数接受一个迭代器参数,指定要删除的元素位置。以下是删除vector中元素的几种常见方法:
1. 删除指定位置的元素:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 2); // 删除第3个元素,即数字3
```
2. 删除指定值的元素:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
auto it = find(vec.begin(), vec.end(), 3); // 查找值为3的元素
if (it != vec.end()) {
vec.erase(it); // 删除值为3的元素
}
```
3. 删除一定范围内的元素:
```cpp
vector<int> vec = {1, 2, 3, 4, 5};
vec.erase(vec.begin() + 1, vec.begin() + 4); // 删除第2个到第4个元素,即数字2、3、4
```
需要注意的是,在使用erase()函数删除元素后,vector的大小会自动调整。
c++中vector如何删除元素
在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中元素的常见方法,希望能对你有帮助!如果你有任何其他问题,请随时提问。