69,336
社区成员
发帖
与我相关
我的任务
分享
#define _CRT_SECURE_NO_DEPRECATE
#include<stdio.h>
#define MAX_SIZE 10
typedef struct _Que{
char value[MAX_SIZE];
char head, tail, count;
} Que;
void initQ(Que * q)
{
char i;
for (i = 0; i < MAX_SIZE; i++)
{
q->value[i] = 0;
}
q->head = q->tail = q->count = 0;
}
char isEmpty(Que * q)
{
if(q->count==0&&q->head==q->tail) return 1;
else return 0;
}
char isFull(Que * q)
{
if(q->count!=0&&q->head==q->tail) return 1;
else return 0;
}
char enQ(Que * q, char value)
{
if(isFull(q)) return 0;
q->value[q->head] = value;
q->head++;
if(q->head==MAX_SIZE) q->head = 0;
q->count++;
return 1;
}
char deQ(Que * q, char * value)
{
if(isEmpty(q)) return 0;
*value = q->value[q->tail];
q->tail++;
if(q->tail==MAX_SIZE) q->tail = 0;
q->count--;
return 1;
}
int main()
{
Que q;
char tmp,i;
initQ(&q);
for(i=0;i<4;i++)
{
scanf("%d", &tmp);
enQ(&q, tmp);
}
while(!isEmpty(&q))
{
deQ(&q, &tmp);
printf("%d\n", tmp);
}
return 0;
}