#include<algorithm>
#include "iostream"
#include <vector>
using namespace std;
int main(){
int n;
cin>>n;
vector<int > vet;
for(int i=0; i<n;i++){
int data;
cin>>data;
vet.push_back(data);
}
vector<int>::iterator it;
vector<int>::iterator is;
for(it=vet.begin();it!=vet.end()-1;it++){
//
is=it+1;
for(;is!=vet.end();is++){
if(*it==*is)
{
vet.erase(is);
it =it -1;
}
}
}
cout <<vet.size()<<endl;
sort(vet.begin(),vet.end());
for(it=vet.begin();it!=vet.end();it++){
cout<<*it<<" ";
}
}
30
120 40 321 677 40 321 67 40 20 89 301 407 15 499 440 240 89 301 407 515 40 321 67 40 20 89 301 407 15 499
正确结果为
14
15 20 40 67 89 120 240 301 321 407 440 499 515 677
但是我在我的编译器上无法输出结果 debug的时候发现当it选到15的时候is指针发生了一个内存读取错误,求教