/*我在這裡寫下部分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;
}