#include "stdio.h"
#include "mem.h"/*memset函数在这里定义*/
#define NULL 0
typedef struct
{
int a[100];/*队列空间*/
int b;/*队尾*/
int c;/*对首*/
}abc;
void insert(abc * q,int p)/*入队*/
{
if((q->b+1)%100==q->c)/**/
printf("dui man,cha ru shi bai.\n");
else
{
q->a[q->b]=p;
q->b=(q->b+1)%100;
}
return ;
}
void deleted(abc* q,int *p)/*出队*/
{
if(q->c==q->b)/**/
printf("delete fail!\n");
else if(*p==NULL)
q->c=(q->c+1)%100;
else
{
*p=q->a[q->c];
q->c=(q->c+1)%100;
}
return ;
}
void traverse(abc *q)/*遍历队列*/
{
int i=q->c;
while(i%100<q->b)
printf("%d ",q->a[i++]);
printf("\n");
return ;
}
int main(void)
{
abc ABC;
int x;
memset(&ABC,0,204);/*队列空间填零*/
insert(&ABC,12);/*入队*/
insert(&ABC,10);
traverse(&ABC);/*遍历*/
deleted(&ABC,NULL);/*出队*/
deleted(&ABC,&x);
deleted(&ABC,&x);
getch();/*按任意键退出*/
return 0;
} |