使用deque前后交替插入
根据n的奇偶判断正向输出还是逆向输出
#include <iostream>
#include <algorithm>
#include <deque>
#include <vector>
#include <string>
#include <iterator>
using namespace std;
int main(void)
{
int n;
cin >> n;
vector<int> seq(n);
for( int i = 0; i < n; ++i ){
cin >> seq[i];
}
deque<int> b;
for( int i = 0; i < n; ++i ){
if( i % 2 ){
b.push_back(seq[i]);
} else {
b.push_front(seq[i]);
}
}
if( n % 2 ){
copy(b.cbegin(), b.cend(), ostream_iterator<int>(cout, " "));
} else {
copy(b.crbegin(), b.crend(), ostream_iterator<int>(cout, " "));
}
}