#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==max_size-1;
}

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->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];
    q->front++;
    if(q->front > q->rear)
    {
        q->front = q->rear = -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));
     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: