程序为何总是崩溃
代码如下:
template<typename T>
void removeDup(vector<T>& v)
{
int i,j,n=0;
for(i=0;i!=v.size()-1;i++)
{
for(j=i+1;j!=v.size();j++)//查找子表即i+1~v.size-1范围
{
cout<<"v[j]="<<v[j]<<" "<<"v[i]="<<v[i]<<endl;
if(v[i]==v[j])
{
for(int k=j;k!=v.size()-1;k++)
{
v[k]=v[k+1];//将j以后的元素往左移
}
v.pop_back();//删除最后一个元素
}
for(int f=0;f!=v.size();f++)
cout<<v[f]<<" ";
cout<<endl;
}
}
}
int main()
{
int arr[]={1,1,7,2,7,9,1,2,8,9,1};
int arrSize=sizeof(arr)/sizeof(int);
vector<int> v(arr,arr+arrSize);
removeDup(v);
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<endl;
return 0
}
编译能通过,无问题,但运行总是崩溃,不知何原因,请大师指导,谢谢!