我写了个输入一串数,把这串数的所有是k的元素删除,用链表写的,可是陷入了死循环,大佬帮忙看看
#include<bits/stdc++.h>
using namespace std;
list<int>a;
int main(){
int n,k;
cin>>n;
for(int i=1;i<=n;i++){
int u;
cin>>u;
a.push_back(u);
}
cin>>k;
list<int>::iterator it;
for(it=a.begin();it!=a.end();it++){
if(*it==k)a.erase(it);
}
for(it=a.begin();it!=a.end();it++){
cout<<*it;
}
return 0;
}