Source Code : CircularQueue.C

CircularQueue.C

#include

#include

#define maxqueue 5

int queue[maxqueue];

int front = -1;

int rear = -1;

int m,n;

main()

{

 

  while(1)

  {

 

  printf("\n 1.Insert\n 2.Delete\n 3.Display\n 4.Exit\n");

  printf("Enter your choice = ");

  scanf("%d",&m);

  switch(m)

  {

  case 1 :

  insert();

  break;

  case 2 :

  delete();

  break;

  case 3:

  display();

  break;

  case 4:

  exit(0);

  default:

  printf("\nYou enter wrong choice.\n");

  }

  }

  return 0;

}

  int insert()

  {

 

    if((front == 0 && rear == maxqueue-1) || (front == rear+1))

  {

  printf("Queue is Overflow \n");

  return(0);

  }

  if (front == -1)

  {

  front = 0;

  rear = 0;

  }

  else if(rear == maxqueue-1)

  { 

  rear = 0;

  }

  else

  {

  rear = rear+1;

  }

  printf("\nInsert the element of queue = ");

  scanf("%d", &n);

  queue[rear] = n;

 

  }//End of insert

  int delete()

  {

  if (front == -1)

  {

  printf("\nQueue is Underflow\n");

  return(0);

  }

  printf("\nElement deleted is= %d\n",queue[front]);

  if(front == rear)

  {

  front = -1;

  rear=-1;

  }

  else if(front == maxqueue-1)

  {

  front = 0;

  }

  else 

  {

  front = front+1;

  }

  }//End of Delete

  int display()

  {

  if(front == -1)

  {

      printf("\nQueue is empty\n");

  }

  else

  {

  printf("\nQueue item is =\n\t");

  for(n=front;n<=rear;n++)

  {

  printf("%d\n\t",queue[n]);

  }

  if(front > rear)

  {

  for(n=front;n<=maxqueue-1;n++)

  {

  printf("%d\n",queue[n]); 

  } 

  for(n=0;n<=rear;n++)

  {

  printf("%d\n",queue[n]);

  } 

  }

  }

  }//End of Display