Site icon DataFlair

Linear Queue in DSA C++

Program 1

// Linear Queue Implementation 
#include<iostream>
#define MAXSIZE 5
using namespace std;
class Queue
{
      private:
      int queue[MAXSIZE];
      int rear,front;
      public:
      Queue()
      {
           rear=-1;
           front=0;
      }
      void insert_element();
      void delete_element();
      void display_element();
};
void Queue::insert_element()
{
       int n;
      if(rear==MAXSIZE-1)
       cout<<"\n Queue is overflow";
      else
      {
          cout<<"\n Enter an element : ";
          cin>>n;
          rear++;
          queue[rear]=n;
      } 

}
void Queue::delete_element()
{
     if(front>rear)
      cout<<"\n Queue is empty";
      else
      {
        int n;
        n=queue[front];
        front++;
        cout<<"\n Deleted element is: "<<n;
      }
}
void Queue::display_element()
{
    if(front>rear)
     cout<<"\n Queue is empty";
   else
   {
       cout<<"\n Elements of Queue: \n";
       for(int i=rear;i>=front;i--)
         cout<<queue[i]<<"      ";
   }  
}
int main()
{
    system("cls");
    int choice;
    Queue myq;
  do
  {  
    cout<<"\n ---------------Queue Menu--------------------";
    cout<<"\n 1. Insert ";
    cout<<"\n 2. Delete ";
    cout<<"\n 3. Display ";
    cout<<"\n 4. Exit ";
    cout<<"\n-------------------------------------------------";
    cout<<"\n Enter your choice: ";
    cin>>choice;
    switch(choice)
    {
       case 1:   myq.insert_element();break; 
       case 2:   myq.delete_element();break; 
       case 3:   myq.display_element();break; 
       case 4:break;
       default:cout<<"Invalid choice";
    }
  }while(choice!=4);

    return 0;
}

 

Exit mobile version