Amazon Affiliate

Thursday 31 May 2012

INSERTION AND DELETION IN A QUEUE....

  // INSERTION AND DELETION IN A QUEUE..

 # include<iostream.h>
 # include<conio.h>
 # include<string.h>
 # include<ctype.h>
 # include<process.h>

 # define size 10

   class Queue
       {
     public: int rear, front;
           int ch;
           int q[size];

     public:  Queue()
            {
              rear = front = 0;
            }
         void Insert_queue();
         void Delete_queue();
         void Display_queue();

    };

 // Function to create queue

 void Queue :: Insert_queue()
    {
     cout<<"\n Input the element :";
     cin>>ch;
      if(rear < size)
       {
         rear ++;
         q[rear] = ch ;
         if(front == 0)
          front = 1;
       }
       else
         cout<<"\nQueue is overflow";
    }

// Function to perform delete operation

    void Queue :: Delete_queue() //char q[], char ch)
       {
         if (front == 0)
           {
         cout<<"\nUnderflow";
         return ;
           }
           else
           {
         ch = q[front];

         cout<<"\nElement deleted :"<<ch;
           }
           if(front == rear)
        {
         front = 0;
         rear = 0;
        }
        else
        front = front + 1;
           }

 // Output function

   void Queue :: Display_queue()  //char q[])
      {
    if (front == 0)
      return;
    for( int i = front ; i <= rear; i++)
     cout<<" "<<q[i];
      }

//Function main

    void main()
      {
        Queue Q;
        int k = 0;
        char choice;

         do
           {
             cout<<"\nInsert->i Delete->d Quit->q:";
             cout<<"\nInput the choice : ";
              do
              {
            cin>>choice;
            choice = tolower(choice);
               }while(strchr("idq",choice)==NULL);
            cout<<"Your choice is ->"<<choice;

      switch(choice)
       {
     case 'i' :
        Q.Insert_queue();
        cout<<"\nQueue after inserting ";
        Q.Display_queue();
        break;

    case 'd' : Q.Delete_queue();
           cout<<"\nQueue content after deleteion is as follows:\n";
           Q.Display_queue();
           break;

    case 'q': k = 1;
      }
    } while(!k);
  }

No comments:

Post a Comment