vector删除指定元素
时间: 2023-08-20 10:05:08 浏览: 96
可以使用STL中的erase()函数来删除vector中的指定元素。
例如,如果要删除vector<int> vec中的第三个元素,可以使用以下代码:
```
vec.erase(vec.begin() + 2);
```
其中,vec.begin()返回vector的第一个元素的迭代器,加上2就是第三个元素的迭代器。erase()函数将该迭代器所指向的元素从vector中删除。
如果要删除vector中所有等于某个值的元素,可以使用以下代码:
```
vec.erase(std::remove(vec.begin(), vec.end(), value), vec.end());
```
其中,std::remove()函数将所有等于value的元素移动到vector的末尾,并返回一个迭代器,指向第一个被移动的元素。然后,erase()函数将该迭代器之后的所有元素从vector中删除。
相关问题
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;
}
```
c++vector删除指定元素
vector的删除操作可以通过erase函数实现,删除指定元素需要先找到该元素的位置,然后再调用erase函数进行删除。
以下是一个示例代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> v{1, 2, 3, 4, 5};
// 删除指定元素
int target = 3;
for (auto it = v.begin(); it != v.end(); ++it) {
if (*it == target) {
v.erase(it);
break;
}
}
// 输出删除后的vector
for (auto i : v) {
cout << i << " ";
}
cout << endl;
return 0;
}
```
上述代码中,首先定义了一个包含5个元素的vector,然后指定要删除的元素为3。接着使用for循环遍历vector中的每个元素,如果找到了目标元素,就调用erase函数进行删除,并使用break语句跳出循环。最后再输出删除后的vector,即可得到删除指定元素后的结果。
阅读全文