C++ Programming Blog

 
 
 
 #include <iostream.h>
 #include    <conio.h>

 const max_length=10;

 class Queue
    {
       private:
      int queue[max_length];
      int rear;
      int front;

       public:
      Queue( );

      void Delete( );
      void Insert( );
      void print_queue( );
      void show_working( );
    };



 //--------------------------  Queue( )  ---------------------------------//


 void Queue::Queue( )
    {
       rear=-1;
       front=-1;

       for(int count=0;count<max_length;count++)
      queue[count]=0;
    }


 //-------------------------------  Insert( )  ---------------------------//


 void Queue::Insert( )
    {
       int item;

       cout<<\"\\n\\n\\n\\n\\n\\t Enter value to insert into the Queue : \";
       cin>>item;

       if(rear==(max_length-1))
      cout<<\"\\n\\n\\t ***  Error : Queue is full. \\n\"<<endl;

       else if(rear==-1 && front==-1)
      {
         rear++;
         queue[rear]=item;
         front=rear;

         cout<<\"\\n\\n\\t *** \"<<item<<\" is inserted into the Queue.\"<<endl;
      }

       else
      {
         rear++;
         queue[rear]=item;

         cout<<\"\\n\\n\\t *** \"<<item<<\" is inserted into the Queue.\"<<endl;
      }

       cout<<\"\\n\\n\\n\\t\\t Pres any key to return to Menu. \";

       getch( );
    }


 //---------------------------------  Delete( )  -------------------------//


 void Queue::Delete( )
    {
       if(rear==-1 && front==-1)
      cout<<\"\\n\\n\\n\\t ***  Error : Queue is empty. \\n\"<<endl;

       else
      {
         cout<<\"\\n\\n\\n\\t *** \"<<queue[front]<<\" is deleted from the Queue.\"<<endl;

         queue[front]=0;

         if(front==rear)
        front=rear=-1;

         else
        front++;
      }

       cout<<\"\\n\\n\\n\\t\\t Pres any key to return to Menu. \";

       getch( );
    }


 //---------------------------  print_queue( )  --------------------------//


 void Queue::print_queue( )
    {
       if(front!=-1 && rear!=-1)
      {
         cout<<\"\\n\\n\\n\\n\\n\\t Values inserted into the Queue are : \\n\"<<endl;

         for(int count=front;count<=rear;count++)
        cout<<\"\\t Stack [\"<<count<<\"]  =  \"<<queue[count]<<endl;
      }

       else
      cout<<\"\\n\\n\\n\\n\\n\\t *** Nothing to show. \"<<endl;

       cout<<\"\\n\\n\\n\\t\\t Pres any key to return to Menu. \";

       getch( );
    }



 //-------------------------  show_working( )  ---------------------------//


 void Queue::show_working( )
    {
       char Key=NULL;

       do
      {
         clrscr( );

         gotoxy(5,5);
         cout<<\"**********   Implementation of Array as Queue   **********\"<<endl;

         gotoxy(10,8);
         cout<<\"Select one of the listed operation :\"<<endl;

         gotoxy(15,10);
         cout<<\"- Press \\\'I\\\' to Insert a value\"<<endl;

         gotoxy(15,12);
         cout<<\"- Press \\\'D\\\' to Delete a value\"<<endl;

         gotoxy(15,14);
         cout<<\"- Press \\\'P\\\' to Print the values\"<<endl;

         gotoxy(15,16);
         cout<<\"- Press \\\'E\\\' to Exit\"<<endl;

         Input:

         gotoxy(10,20);
         cout<<\"                      \";

         gotoxy(10,20);
         cout<<\"Enter your Choice : \";

         Key=getche( );

         if(int(Key)==27 || Key==\'e\' || Key==\'E\')
        break;

         else if(Key==\'i\' || Key==\'I\')
        Insert( );

         else if(Key==\'d\' || Key==\'D\')
        Delete( );

         else if(Key==\'p\' || Key==\'P\')
        print_queue( );

         else
        goto Input;
      }
       while(1);
    }


 int main( )
    {
       Queue obj;

       obj.show_working( );

       return 0;
    }

 
 
Didn't find what you were looking for? Find more on Program to illustrate the implementation of arrays as a Linear Queue