#define MAXCQSIZE 10
struct CQUEUE
{
int front, rear;
int items[MAXCQSIZE];
};
int iscqueuefull(struct CQUEUE *p)
{
if(p->front==(p->rear+1)%MAXCQSIZE)
return 1;
return 0;
}
void insertcqueue(struct CQUEUE *p, int ele)
{
p->rear=(p->rear+1)%MAXCQSIZE;
p->items[p->rear]=ele;
}
int iscqueueempty(struct CQUEUE *p)
{
if(p->rear==p->front)
return 1;
return 0;
}
int removecq(struct CQUEUE *p)
{
int ele;
p->front=(p->front+1)%MAXCQSIZE;
ele=p->items[p->front];
return ele;
}
void displaycq(struct CQUEUE *p)
{
int i;
if(iscqueueempty(p)){
printf("empty");
return;
}
i=(p->front+1)%MAXCQSIZE;
do
{
printf("%d", p->items[i]);
i=(i+1)%MAXCQSIZE;
}while(i!=p->rear);
main()
{
struct CQUEUE cq;
cq.front=cq.rear=MAXCQSIZE-1;
if (iscqueuefull(&cq))
printf("FULL");
else
insertcqueue(&cq, 100);
if(iscqueueempty(&cq))
printf("EMPTY");
else
{
ele=removecq(&cq);
printf("%d", ele);
}