#include<iostream> #include<list> #include<deque> #include<stdio.h> using namespace ::std; int main() { list<int> my_list; deque<int> oddDq; deque<int> evenDq; int temp; char it; cout<<"input numbers ,Ctrl+Z to end"<<endl; while(cin>>temp) { my_list.push_back(temp); } list<int> ::iterator iter = my_list.begin(); while(iter!=my_list.end()) { if(*iter %2 == 0) { evenDq.push_back(*iter); } else { oddDq.push_back(*iter); } iter++; } deque<int> ::iterator oddIter = oddDq.begin(); deque<int> ::iterator evenIter = evenDq.begin(); if(oddIter != oddDq.end())// output odd number { cout << "the odd numbers are:"; while(oddIter != oddDq.end()) { cout << *oddIter <<" "; oddIter++; } cout << endl; } else { cout <<"there is no odd number"<<endl; } if(evenIter != evenDq.end()) //output even number { cout <<"the even numbers are:"; while(evenIter != evenDq.end()) { cout << *evenIter <<" "; evenIter++; } cout << endl; } else { cout <<"there is no even number"<<endl; } system("pause"); return 0; }