#include <stdio.h>
#include <stdlib.h>
#define max_size 10
typedef struct
{
int front, rear;
int items[max_size];
}Queue;
void initialise(Queue*q)
{
q->front=-1;
q->rear=-1;
}
int isempty(Queue*q)
{
return q->front==-1;
}
int isfull(Queue*q)
{
return (q->rear+1)%max_size==q->front;
}
void enqueue(Queue*q, int item)
{
if(isfull(q))
{
printf("Queue overflow!\n");
exit(EXIT_FAILURE);
}
if(q->front==-1)
{
q->front=0;
}
q->rear=(q->rear+1)%max_size;
q->items[q->rear]=item;
}
int dequeue(Queue*q)
{
int item;
if(isempty(q))
{
printf("Queue Underflow!\n");
exit(EXIT_FAILURE);
}
item=q->items[q->front];
if(q->front==q->rear)
{
q->front=q->rear=-1;
}
else
{
q->front=(q->front +1);
}
return item;
}
void main()
{
Queue q;
initialise(&q);
enqueue(&q, 10);
enqueue(&q, 20);
enqueue(&q, 30);
printf("%d\n", dequeue(&q));
printf("%d\n",dequeue(&q));
enqueue(&q,40);
printf("%d\n",dequeue(&q));
printf("%d\n",dequeue(&q));
printf("%d\n",dequeue(&q));
}
To embed this program on your website, copy the following code and paste it into your website's HTML: