0. 删除 vector 中的指定元素 今天来探讨 C++ 中的一个基础问题。如何正确地删除 vector 中符合条件的某元素。比如,有一个 vector<int> nums = {1, 2, 2, 2, 2, 3, 5},要求删除 nums 中所有值为2的元素。C++ 初学者可能很快就写出代码:for (vector<int>::iterator it = nums.begin(); it !=...
#include"iostream"using namespace std;#include"vector"// 打印 vector<int> 类型的 STL 容器voidprintV(vector<int>&v){cout<<"vector 容器中的元素 : ";for(int i=0;i<v.size();i++){// 输出单个元素cout<<v[i]<<" ";}// 输出回车换行std::cout<<std::endl;cout<<" vector 容器大小 :...
vector<int> num;for(vector<int>::iterator iter=num.begin();iter!=num.end();iter++){ //从vector中删除指定的某⼀个元素 if(*iter==k){ num.erase(iter);break;} } ②删除指定的多个重复元素:erase函数的返回的是指向被删除元素的下⼀个元素的迭代器,所以执⾏erase()后要把迭代器减...
erase(vec.begin() + index); for (int num : vec) { std::cout << num << " "; } } else { std::cout << "Invalid index"; } return 0; } 复制代码 在上面的示例中,我们先定义了一个包含 1, 2, 3, 4, 5 的 vector。然后指定要删除的位置 index 为 2,使用 erase() 函数删除该位置...
vector<int>num;for(vector<int>::iterator iter=num.begin();iter!=num.end();iter++){//从vector中删除指定的某一个元素if(*iter==k){ num.erase(iter);break; } } ②删除指定的多个重复元素:erase函数的返回的是指向被删除元素的下一个元素的迭代器,所以执行erase()后要把迭代器减1,指向前面一个...
#include <iostream> #include <vector> int main() { std::vector<int> vec = {1, 2, 3, 4, 5}; // 删除第三个元素(索引为2) vec.erase(vec.begin() + 2); // 打印删除元素后的vector for (int i : vec) { std::cout << i << " "; } std::cout << std::endl; return 0; ...
map<string,int>::iterator it_back =it;//备份迭代器。因为删除操作后,迭代器指向空,要备份。if(it_back !=m.end()) { it++; m.erase(it_back); } }return0; } it指针在元素被删除后失效了,所以在删除之前要备份当前it,it++之后移动一下个元素,然后再删除当前元素 ...
下面是删除指定元素的详细步骤: 1. 创建一个vector对象并添加元素。 ```cpp #include <iostream> #include <vector> int main() { std::vector<int> nums; nums.push_back(1); nums.push_back(2); nums.push_back(3); nums.push_back(4); nums.push_back(5); return 0; } ``` 2. 使用erase...
vector中删除某个指定元素 class Solution { public: int removeElement(vector<int>& v, int val) { for (auto it = v.begin(); it != v.end(); it++) { if (*it == val) { // 条件语句 v.erase(it); // 移除他 it--; // 让该迭代器指向前一个...