/* Write a program to implement Queue using linkedlist. */ #include struct linkedlist{ int data; linkedlist *next; }; class stack_linkedList{ public: linkedlist *front; linkedlist *rear; stack_linkedList(){ front=rear=NULL; } void enqueue(int); int dequeue(); void display(); }; void stack_linkedList::enqueue(int ele){ linkedlist *temp=new linkedlist(); temp->data=ele; temp->next=NULL; if(front==NULL) front=rear=temp; else{ rear->next=temp; rear=temp; } } int stack_linkedList::dequeue(){ linkedlist *temp; int ele; if(front==NULL) std::cout<<"\nStack is empty"; else{ temp=front; ele=temp->data; if(front==rear) //if length of queue is 1; rear=rear->next; front=front->next; delete(temp); } return ele; } void stack_linkedList::display(){ if(front==NULL) std::cout<<"\nStack is empty"; else { linkedlist *temp; temp=front; while(temp!=NULL){ std::cout<data<<" "; temp=temp->next; } } } int main(){ int op,data; stack_linkedList ob; std::cout<<"\n1. enqueue(Insertion) "; std::cout<<"\n2. dequeue(Deletion)"; std::cout<<"\n3. Display"; std::cout<<"\n4. Exit"; while(1){ std::cout<<"\nEnter your choice "; std::cin>>op; if(op==1) { std::cout<<"Enter data "; std::cin>>data; ob.enqueue(data); } else if(op==2) data=ob.dequeue(); else if(op==3) ob.display(); else if(op==4) exit(0); else std::cout<<"\nWrong choice "; } return 0; }