Wednesday 14 January 2015

Wap to implement circular queue using array

Wap to implement circular queue using array

#include<stdio.h>
#include<conio.h>
#define max 5
void insert();
void delet();
void display();
int q[10],front=0,rear=-1;
void main()
{
      int ch;
      printf("\n circular Queue operatos\n");
      printf("insert\n2.delete\n3.display\n4.exit\n");
      printf("Enter your choice:");
      scanf("%d",&ch);
      switch(ch)
      {
      case 1: insert();
          break;
      case 2: delet();
          break;
      case 3: display();
          break;
      case 4: exit();
      default:printf("Invalid option");
      }
     getch();
  }
  void insert()
  {
     int x;
     if ((front==0&&rear==max-1)||(front>0&&rear==front-1))
        printf("Queue is overflow\n");
     else
     {
        printf("Enter element to be insert:");
        scanf("%d",&x);
        if(rear==max-1&&front>0)
        {
           rear=0;
           q[rear]=x;
        }
        else
        {
           if((front==0&&rear==-1)||(rear!=front-1))
            q[++rear]=x;
        }
      }
   }
   void delet()
   {
     int a;
     if((front==0)&&(rear-1))
     {
      printf("Queue is underflow\n");
      getch();
      exit();
     }
     if(front==rear)
     {
      a=q[front];
      rear=-1;
      front=0;
     }
     else
      if(front==max-1)
      {
         a=q[front];
         front=0;
      }
      else a=q[front++];
      printf("Deleted element is:%d\n",a);
    }
    void display()
    {
       int i,j;
       if(front==0&&rear==-1)
       {
          printf("Queue is underflow\n");
          getch();
          exit();
       }
       if(front>rear)
       {
          for(i=0;i<=rear;i++)
            printf("\t%d",q[i]);
          for(j=front;j<=max-1;j++)
            printf("\t%d",q[j]);
          printf("\nrear is at %d\n",q[rear]);
        }
        else
        {
            for(i=front;i<rear;i++)
            {
              printf("\t%d",q[i]);
            }
            printf("\nrear is at %d\n",q[rear]);
            printf("\nfront is at %d\n",q[front]);
        }
        printf("\n");

        }

No comments:

Post a Comment