C++ 删除容器元素哪里错了
//9_26.cpp:定义控制台应用程序的入口点。//#include"stdafx.h"#include<iostream>#include<vector>#inclu...
// 9_26.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include<vector>
#include<list>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int ia[]={0,1,1,2,3,5,8,13,21,55,89};
vector<int>ivec;
list<int>ilist;
for(int i=0;i<11;i++)
{
ivec.push_back(ia[i]);
ilist.push_back(ia[i]);
}
for(list<int>::iterator iter=ilist.begin();iter!=ilist.end();iter++)
{
if(*iter%2!=0)
{
iter=ilist.erase(iter);
--iter;
}
}
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();iter++)
{
if(*iter%2==0)
{
iter=ivec.erase(iter);
--iter;
}
}
cout<<"The even list"<<endl;
for(list<int>::iterator iter=ilist.begin();iter!=ilist.end();iter++)
cout<<*iter<<' ';
cout<<"The odd vector"<<endl;
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();iter++)
cout<<*iter<<' ';
system("pause");
return 0;
} 展开
//
#include "stdafx.h"
#include<iostream>
#include<vector>
#include<list>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int ia[]={0,1,1,2,3,5,8,13,21,55,89};
vector<int>ivec;
list<int>ilist;
for(int i=0;i<11;i++)
{
ivec.push_back(ia[i]);
ilist.push_back(ia[i]);
}
for(list<int>::iterator iter=ilist.begin();iter!=ilist.end();iter++)
{
if(*iter%2!=0)
{
iter=ilist.erase(iter);
--iter;
}
}
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();iter++)
{
if(*iter%2==0)
{
iter=ivec.erase(iter);
--iter;
}
}
cout<<"The even list"<<endl;
for(list<int>::iterator iter=ilist.begin();iter!=ilist.end();iter++)
cout<<*iter<<' ';
cout<<"The odd vector"<<endl;
for(vector<int>::iterator iter=ivec.begin();iter!=ivec.end();iter++)
cout<<*iter<<' ';
system("pause");
return 0;
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询