#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));
}

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: