/*我在这里写下部分C++ Primer 中文版 第4版 习题的个人解答和看法(注:我没有买答案书,所以不保证正确,你觉得错的,希望你能告诉我)源代码运行的要求和书上一样,省略了预编译和using行。假如有什么说的不详细,你还不懂,可以问我,不过我也是初学者,不一定知道阿,看我还在学C++ Prime 就知道我是初学者了。欢迎转载,但是请保留作者名“九天雁翎”。*/
void printContainer(list<int>::const_iterator,list<int>::const_iterator);//输出函数用来检验
void printContainer(deque<int>::const_iterator,deque<int>::const_iterator); //重载一个输入函数
int main()
{
list<int> ilist;
int aint;
while(cin>>aint) //以^Z结束,即Ctrl+Z结束
{
ilist.push_back(aint);
}
printContainer(ilist.begin(),ilist.end());
deque<int>evenDeque,oddDeque;
for(list<int>::const_iterator ilistFirst = ilist.begin(),ilistLast = ilist.end();
ilistFirst != ilistLast;++ilistFirst)
{
if(*ilistFirst%2) //判断奇偶,相当于if(*ilistFist%2==1)
oddDeque.push_back(*ilistFirst);
else
evenDeque.push_back(*ilistFirst);
}
cout<<"oddDeque:";
printContainer(oddDeque.begin(),oddDeque.end());
cout<<"evenDeque:";
printContainer(evenDeque.begin(),evenDeque.end());
return 0;
}
void printContainer(list<int>::const_iterator first,list<int>::const_iterator last)
{
cout<<endl;
for(;first != last;++first)
{
cout <<*first<<" ";
}
cout<<endl;
}
void printContainer(deque<int>::const_iterator first,deque<int>::const_iterator last)
{
cout<<endl;
for(;first != last;++first)
{
cout <<*first<<" ";
}
cout<<endl;
}