📄 zhan.c
字号:
#include "stdio.h"
#include "math.h"
#define QueueSize 50
typedef int QueueData;
typedef struct {
QueueData data[QueueSize];
int rear, front;
}SeqQueue;
int QueueFull(SeqQueue *Q){
return Q->rear==QueueSize;
}
int QueueEmpty(SeqQueue *Q){
return Q->front==Q->rear;
}
int InitQueue(SeqQueue *Q){
Q->front=Q->rear=-1;
}
int EnQueue(SeqQueue *Q,QueueData x){
if(QueueFull(Q))
return 0;
if(Q->rear==-1)
{Q->rear=0;
Q->front=0;
Q->data[Q->rear]=x;
Q->data[Q->front]=x;
}
else
Q->data[Q->rear]=x;
Q->rear++;
return 1;
}
int DeQueue(SeqQueue *Q){
int x;
if(QueueEmpty(Q))
return 0;
x=Q->data[Q->front++];
return x;
}
int Insert(SeqQueue *Q){
int x,number,i;
printf("Please input the number of elem:");
scanf("%d",&number);
printf("Please input the elems:");
for(i=0;i<number;i++)
{scanf("%d",&x);
EnQueue(Q,x);
}
}
int creat(SeqQueue *Q){
int x,number,i;
InitQueue(Q);
printf("Please input the number of elem:");
scanf("%d",&number);
printf("Please input the elems:");
for(i=0;i<number;i++)
{scanf("%d",&x);
EnQueue(Q,x);
}
}
int output(SeqQueue *Q){
int i;
printf("Result:");
for(i=Q->front;i<Q->rear;i++)
printf("%d ",Q->data[i]);
printf("\n");
}
main(){
SeqQueue Q;
int t;
while(1)
{
printf("0.creat ");
printf("1.insert ");
printf("2.delete ");
printf("3.exit\n");
scanf("%d",&t);
switch(t)
{
case 0:clrscr();creat(&Q);clrscr();output(&Q);break;
case 1:Insert(&Q);output(&Q);break;
case 2:printf("Q->front=%d ",DeQueue(&Q));output(&Q);break;
case 3:exit(0);break;
default:printf("error\n");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -