#include <stdio.h>
#include<stdlib.h>
struct node
{
    int data;
    struct node*next;
};
struct node*front=0;
struct node*rear=0;
void enqueue(int x)
{
    struct node*newnode;
    newnode=(struct node*)malloc(sizeof(struct node));
    newnode->data=x;
    newnode->next=0;
    if (rear==0)
    {
        front=rear=newnode;
        rear=newnode;
    }
    else
    {
        rear->next=newnode;
        rear=newnode;
        rear->next=front;
    }
}
void dequeue()
{
   struct node*temp;
   temp=front;
   if (front==0&&rear==0)
   {
       printf("the queue is empty");
   }
   else if(front==rear)
   {
       front=rear=0;
       free(temp);
   }
   else
   {
       front=front->next;
       rear->next=temp;
       free(temp);
   }
      
}
void display()
{
    struct node*temp;
    temp=front;
    if (front==0&&rear==0)
    {
        printf("the queue is empty");
        
    }
    else
    {
        while(temp->next!=front)
        {
            printf(" %d",temp->data);
            temp=temp->next;
        }
    }
}
void peek()
{
    if(front==0&rear==0)
    {
        printf("the queue is empty");
    }
    else
    {
        printf("\nThe peek element is: %d",front->data);
    }
}
void main()
{
    enqueue(7);
    enqueue(1);
    enqueue(8);
    dequeue();
    dequeue();
    enqueue(4);
    enqueue(8);
    enqueue(6);
    display();
    peek();
}

Embed on website

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