Friday, March 27, 2020

Insertion and deletion of an element from the circular queue

Insertion and deletion of an element from the circular queue

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void insert();
void del();
void display();
int front = -1;
int rear = -1;
int max=5;
int queue[5];
void main ()
{
     clrscr();
     printf("<<---- WelCome Back Coding Adda--- >>\n");
     printf("Perform operations on circuler queue");
     printf("\n\t*******************************\n");
       printf("\t*     1. Insert element       *\n");
       printf("\t*     2. Delete element       *\n");
       printf("\t*     3. display              *\n");
       printf("\t*     4. Exit                 *\n");
       printf("\t*******************************");
      int ch;
      while(1)
      {
printf("\n\t\t<<     ener your choice     >>   ");
scanf("%d",&ch);
switch(ch)
{
case 1:
insert();
display();
break;
case 2:
del();
display();
break;
case 3:
display();
break;
case 4:
exit(0);
break;
default:
printf("\n------- Enter valid choice??--------\n");
}
      }
}
void insert()
{
    int item;
    printf(" Enter the element  -   ");
    scanf("%d",&item);
    if((rear+1)%max == front)
    {
printf("\n\t ---  OVERFLOW --- \n");
    }
    else if(front == -1 && rear == -1)
    {
front = 0;
rear = 0;
    }
    else if(rear == max -1 && front != 0)
    {
rear = 0;
    }
    else
    {
rear = (rear+1)%max;
    }
    queue[rear] = item;
}
void del()
{
    int item;
    if(front == -1 & rear == -1)
    {
printf("\n\t --- UNDERFLOW --- \n");
    }
    else if(front == rear)
    {
front = -1;
rear = -1;
    }
    else if(front == max -1)
    {
    front = 0;
    }
    else
front = front + 1;
}

void display()
{
   int i;
   if(front == -1)
      printf(" --- Circular Queue is Empty!!! ---");
   else
   {
      i = front;
      printf(" Circuler  Queue Elements are :- ");
      if(front <= rear)
      {
while(i <= rear)
printf("%d  ",queue[i++]);
printf("\n \tFront - %d \t and\t Rear %d",front,rear);
      }
      else
      {
while(i <= max - 1)
printf("%d  ", queue[i++]);
printf("\n \tFront - %d \t and\t Rear %d",front,rear);
i = 0;
while(i <= rear)
printf("%d  ",queue[i++]);
printf("\n \tFront - %d \t and\t Rear %d",front,rear);
      }
   }
}

Output: 

No comments:

Post a Comment

Write a program in python which determine determines that the number is prime or not. What is your favorite number?

Write a program in python which determine determines that the number is prime or not. What is your favorite number? Code   number = int(inpu...