#include class element { public: int value; element* next; };//class element class Queue { public: int size; element* head; element* tail; Queue() { size=0; head=NULL; tail=NULL; }//default constructor void Enqueue(int); void Dequeue(); int isEmpty(); int getQueueSize(); void printQueueSize(); void printQueueElements(); void printQueueMenu(); }; void Queue::Enqueue(int ele) { if(head==NULL) // first element { head=new element; tail=head; //head==tail if one element head->value=ele; head->next=NULL; } else { tail->next=new element; tail->next->value=ele; tail->next->next=NULL; cout<next->value<next; } size++; //printQueueElements(); } void Queue::Dequeue() { if(getQueueSize()==0) return; else if(head==tail) { head=NULL; } else { element *curr,*prev; //remove the first element inserted and curr=head; //point the head to next element head=curr->next; curr=NULL; } size--; } int Queue::isEmpty() { if(getQueueSize()==0) return 1; return 0; } int Queue::getQueueSize() { return size; }//returns size of the Queue void Queue::printQueueSize() { cout<<"\nThe Size of the Queue:"<value<<"|"; curr2=curr2->next; } cout<>Option; switch(Option) { case '1': cout<<"Enter a Number \n"; cin>>val; qt.Enqueue(val); break; case '2': qt.Dequeue(); break; case '3': qt.printQueueElements(); break; case '4': qt.printQueueSize(); break; case '5': exit(0); break; } } }