1 Star 0 Fork 0

邓宏 / PTA

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
7-6 银行业务队列简单模拟 (25 分) 1.36 KB
一键复制 编辑 原始数据 按行查看 历史
#include <stdio.h>
#include <stdlib.h>
#include<iostream>
using namespace std;
typedef int Position;
typedef struct SNode *PtrToSNode;
typedef struct {
int *data;
int front; //头指针
int rear; //尾指针
} Team;
typedef Team *SqTeam;
SqTeam Creat()
{
SqTeam T = new Team;
T->front = 0;
T->rear = 0;
T->data= (int*)malloc(1000 * sizeof(int));
return T;
}
void push(SqTeam T,int a)
{
T->data[T->rear++] = a;
return;
}
int empty(SqTeam T)
{
if (T->rear == T->front)return 0;
return 1;
}
void pop(SqTeam T,int *flag)
{
if (empty(T) && *flag == 1)
{
printf("%d", T->data[T->front++]); *flag = 0;
}
else if (empty(T) && *flag == 0)
printf(" %d", T->data[T->front++]);
}
int main()
{
SqTeam A, B;
A = Creat();
B = Creat();
int n,i,a,*flag,f=1;
flag = &f;
cin >> n;
for (i = 0; i < n; i++)
{
cin >> a;
if (a % 2 != 0)push(A, a);
else push(B, a);
}
while (empty(A) && empty(B))
{
pop(A,flag);
pop(A,flag);
pop(B,flag);
}
if (!empty(A))
{
while (empty(B))
{
pop(B, flag);
}
}
if (!empty(B))
{
while (empty(A))
{
pop(A, flag);
}
}
return 0;
}
C++
1
https://gitee.com/deng-hongnb/pta.git
git@gitee.com:deng-hongnb/pta.git
deng-hongnb
pta
PTA
master

搜索帮助