PTA 7-3(队列) 银行业务队列简单模拟(25 分) 25分代码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiang_6/article/details/78205690

。。

(注: 博客作为交流使用,请勿抄袭应付作业)


#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <cmath>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <ctype.h>
#include <vector>
#include <algorithm>
#include <sstream>
#define PI acos(-1.0)
#define in freopen("in.txt", "r", stdin)
#define out freopen("out.txt", "w", stdout)
using namespace std;
typedef long long ll;
const int maxn = 1000 + 7, INF = 0x3f3f3f3f, mod = 1e9 + 7;
int n;
queue<int> q1, q2;

void init() {
    scanf("%d", &n);
    int x;
    for(int i = 0; i < n; ++i) {
        scanf("%d", &x);
        if(x % 2) q1.push(x);
        else q2.push(x);
    }

}

void solve() {
    int f = 0;
    while(!q1.empty() && !q2.empty()) {
        if(!q1.empty()) { if(f!=0) printf(" "); if(f==0) f=1; cout << q1.front(); q1.pop(); }
        if(!q1.empty()) { if(f!=0) printf(" "); if(f==0) f=1;cout << q1.front(); q1.pop(); }
        if(!q2.empty()) { if(f!=0) printf(" "); if(f==0) f=1;cout << q2.front(); q2.pop(); }
    }
    while(!q1.empty()) { if(f!=0) printf(" "); if(f==0) f=1;cout << q1.front(); q1.pop(); }
    while(!q2.empty()) { if(f!=0) printf(" "); if(f==0) f=1;cout << q2.front(); q2.pop(); }
}

int main() {
    init();
    solve();
    return 0;
}
/*
8 2 1 3 9 4 11 13 15
*/


阅读更多
换一批

没有更多推荐了,返回首页