#include<stdio.h>
#define maxsize 100
typedef struct node
{
int data[100];
int front,rear;
} node;
void initqueue(node *q)
{
q->front=q->rear=0;
}
int inqueue(node *q,int x)
{
if(q->front==(q->rear+1)%maxsize)
return 0;
else
{
q->data[q->rear]=x;
q->rear=(q->rear+1)%maxsize;
return 1;
}
}
int outqueue(node *q,int *x)
{
if(q->front==q->rear)
return 0;
else
{
*x=q->data[q->front];
q->front=(q->front+1)%maxsize;
return 1;
}
}
int main()
{
node q;
int i,j;
int n,m;
initqueue(&q);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&m);
if(inqueue(&q,m)==0)
{
printf("栈已满\n");
}
}
scanf("%d",&j);
for(i=1;i<=j;i++)
{
if(outqueue(&q,&m)==0)
{
printf("\n栈已空");
}
else
{
printf("%d ",m);
}
}
printf("\n");
return 0;
}
顺序循环队列
最新推荐文章于 2023-02-18 20:13:36 发布