📄 c_sequeue.c
字号:
/*循环队列*/
#include <stdio.h>
#define MAXSIZE 20
typedef int datatype;
typedef struct
{
datatype data[MAXSIZE];
int front,rear;
int num;
}c_SeQueue;
c_SeQueue *Init_SeQueue()
{
c_SeQueue *q;
q=(c_SeQueue *)malloc(sizeof(c_SeQueue));
q->front=q->rear=-1;
q->num=0;
}
int In_SeQueue(c_SeQueue *q,datatype x)
{
if(q->num==MAXSIZE)
{printf("队满");return -1;}
else
{
q->rear=(q->rear+1)%MAXSIZE;
q->data[q->rear]=x;
q->num++;
return 1;
}
}
int Out_SeQueue(c_SeQueue *q,datatype *x)
{
if(q->num==0)
{printf("队空");return -1;}
else
{
q->front=(q->front+1)%MAXSIZE;
*x=q->data[q->front];
q->num--;
return 1;
}
}
int Empty_SeQueue(c_SeQueue *q)
{
if(q->num==0) return 1;
else return 0;
}
main()
{
c_SeQueue *p;
datatype y;
p=Init_SeQueue();
scanf("%d",&y);
while(y!=0)
{
if(In_SeQueue(p,y)==1)
scanf("%d",&y);
else
break;
}
while(!Empty_SeQueue(p))
{
if(Out_SeQueue(p,&y)==1)
printf("%d\t",y);
else
break;
}
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -