利用deque容器很容易实现,对于奇数和偶数分别从后和前面添加就行

#include<bits/stdc++.h>
using namespace std;

int main()
{
    deque<int>num;
    int number;
    while(cin>>number){
        if(number & 1 == 1)
            num.push_back(number);
        else 
            num.push_front(number);
    }
    deque<int>::iterator it;
    for(it = num.begin();it!=num.end();it++)
        cout<<*it<<" ";
    cout<<endl;
    return 0;
}