补充
1. 使用vector删除偶数
#include <iostream>
using namespace std;
#include <vector>
void removeEven(vector<int> &num)
{
vector<int>::iterator it;
for(it = num.begin(); it!=num.end();it ++)
{
if(*it % 2 == 0)
{
num.erase(it);
it --;
}
}
}
int main(int argc, char const *argv[])
{
vector<int> num{1,2,3,4,5,6};
removeEven(num);
for(int a : num)
{
cout << a << " ";
}
cout << endl;
return 0;
}
这里需要注意的地方,使用erase函数时,删除一个元素,后面元素就会自动向前移动一个位置,所以说上面代码中使用了it--, 因为下一个元素就在当前删除的这个元素的位置。
浙公网安备 33010602011771号