前言
今天做题时发现一道很多人都RE的题,是用 v e c t o r vector vector做的,叫删除 x x x。
作者做了半天,一找答案 查资料才发现
e
r
a
s
e
erase
erase删除的是
p
o
s
pos
pos上的元素。。。
所以就有了今天的文章。
code
#include<bits/stdc++.h>
using namespace std;
int main(){
vector<int> a;
int n, x;
cin >> n >> x;
for (int i = 0;i < n;i++){
int tmp;
cin >> tmp;
a.push_back(tmp);
}
vector<int>::iterator itor;
for (itor = a.begin();itor < a.end();itor++){
if (*itor == x){
itor = a.erase(itor);
}
}
for (itor = a.begin();itor < a.end();itor++){
cout << *itor << " ";
}
return 0;
}
这里用的是迭代器,但是实际上有更简单的写法,就是判断a[i]是不是x,如果不是,就输出。