PTA7-1银行业务队列简单模拟

更新时间:2023-06-22 00:56:50 阅读: 评论:0

PTA7-1银⾏业务队列简单模拟
//库函数头⽂件包含
#include<stdio.h>
#include<malloc.h>安卓手机如何刷机
#include<stdlib.h>
微弱//函数状态码定义
#define TRUE        1
#define FALSE      0
#define OK          1
#define ERROR      0
#define INFEASIBLE -1
#define OVERFLOW  -2
typedef int Status;
typedef int QElemType;
typedef struct QNode
{
QElemType data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct Queue
{
中字开头成语
QueuePtr front;
QueuePtr rear;
}SqQueue;
Status InitQueue(SqQueue &Q)
{
Q.front =(QNode *)malloc(sizeof(QNode));
if(!Q.front)exit(OVERFLOW);
Q.front->next =NULL;
return OK;
}
Status DestroyQueue(SqQueue &Q)形容大气的成语
{
QNode *p = Q.front,*postp;
while(p)
{
朴炯植图片postp = p->next;
free(p);
p = postp;
}
Q.front = Q.rear =NULL;
return OK;
}
Status ClearQueue(SqQueue &Q)
{
QNode *p = Q.front->next;
while(p)
{
QNode *temp = p;
p = p->next;
free(p);
}
春节画
}
Status QueueEmpty(SqQueue Q)
{
{
if(Q.front == Q.rear)
return TRUE;
全面发展教育
return FALSE;
}
int QueueLength(SqQueue Q)
{
int len =0;
QNode *temp = Q.front->next;
while(temp)
{
++len;
temp = temp->next;
}
return len;
}
Status GetHead(SqQueue Q, QElemType &e)
{
if(Q.front = Q.rear)
return ERROR;
e = Q.front->next->data;
return OK;
}
Status EnQueue(SqQueue &Q, QElemType e)
{
QueuePtr p;
p =(QNode *)malloc(sizeof(QNode));
if(!p)exit(OVERFLOW);
p->data = e; p->next =NULL;
return OK;
}
Status DeQueue(SqQueue &Q, QElemType &e)
{
if(Q.front == Q.rear)
return ERROR;
QueuePtr temp = Q.front->next;
e = temp->data;
Q.front->next = temp->next;
ar == temp) Q.rear = Q.front;
free(temp);
return OK;
}
//思路:创建两个队列作为A窗⼝和B窗⼝,奇数去A,偶数去B,当A输出两个元素时,B输出⼀个元素//注意:当⼀个队列为空⽽另⼀个队列还有元素时,直接将其全部输出
int main()
{
SqQueue A;//创建奇队列
SqQueue B;//创建偶队列
int n,m;
QElemType e,q;
InitQueue(A);
InitQueue(B);
scanf("%d",&n);
for(int i =0; i < n;++i)
{
scanf("%d",&e);
if(e %2==1)
{
EnQueue(A, e);
}
el
{
EnQueue(B, e);
}
}
}
m=0;//判断是否输出空格
while(!QueueEmpty(A)&&!QueueEmpty(B)) {
//奇队列每次循环输出两次
if(m==0)
{
DeQueue(A,q);
printf("%d",q);
m++;
printf(" ");
DeQueue(A,q);
printf("%d",q);
}
el
{
printf(" ");
DeQueue(A,q);
printf("%d",q);
m++;
printf(" ");
DeQueue(A,q);
printf("%d",q);
}
//偶队列每次循环输出⼀次
if(!QueueEmpty(B))
{
printf(" ");
DeQueue(B,q);
printf("%d",q);
}
}
while(!QueueEmpty(A)&&QueueEmpty(B)) {
if(m==0)//全为奇数
{
DeQueue(A,q);
printf("%d",q);
m++;
}
el
{
过年放烟花作文
printf(" ");
DeQueue(A,q);
printf("%d",q);
m++;
}
}
while(QueueEmpty(A)&&!QueueEmpty(B)) {
if(m==0)//全为偶数
{
DeQueue(B,q);
printf("%d",q);
m++;
}
el
{
printf(" ");
DeQueue(B,q);
printf("%d",q);
m++;
}
}
printf("\n");
printf("\n"); return0; }

本文发布于:2023-06-22 00:56:50,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1009718.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:队列   输出   元素   成语   创建
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图