C++ Program to Implement Queue using Linked List

This C++ program, using iteration, implements the list of elements removed from the queue in first in first out mode using a linked list. A linked list is an ordered set of data elements, each containing a link to its successor.

Here is the source code of the C program to display the list of elements removed from the queue. The C++ program is successfully compiled and run on DevCpp, a C++ compiler. The program output is also shown below.

  1. /*
  2.  * C++ Program to Implement Queue using Linked List
  3.  */
  4. #include<iostream>
  5. #include<stdio.h>
  6. #include<conio.h>
  7. using namespace std;
  8. struct node
  9. {
  10.     int data;
  11.     node *next;
  12. }*front = NULL,*rear = NULL,*p = NULL,*np = NULL;
  13. void push(int x)
  14. {
  15.     np = new node;
  16.     np->data = x;
  17.     np->next = NULL;
  18.     if(front == NULL)
  19.     {
  20.         front = rear = np;
  21.         rear->next = NULL;
  22.     }
  23.     else
  24.     {
  25.         rear->next = np;
  26.         rear = np;
  27.         rear->next = NULL;
  28.     }
  29. }
  30. int remove()
  31. {
  32.     int x;
  33.     if(front == NULL)
  34.     {
  35.         cout<<"empty queue\n";
  36.     }
  37.     else
  38.     {
  39.         p = front;
  40.         x = p->data;
  41.         front = front->next;
  42.         delete(p);
  43.         return(x);
  44.     }
  45. }
  46. int main()
  47. {
  48.     int n,c = 0,x;
  49.     cout<<"Enter the number of values to be pushed into queue\n";
  50.     cin>>n;
  51.     while (c < n)
  52.     {
  53. 	cout<<"Enter the value to be entered into queue\n";
  54. 	cin>>x;
  55.         push(x);
  56.         c++;
  57.      }
  58.      cout<<"\n\nRemoved Values\n\n";
  59.      while(true)
  60.      {
  61.         if (front != NULL)
  62.             cout<<remove()<<endl;
  63.         else
  64.             break;
  65.      }
  66.      getch();
  67. }

Output
Enter the number of values to be pushed into queue
6
Enter the value to be entered into queue
5
Enter the value to be entered into queue
4
Enter the value to be entered into queue
3
Enter the value to be entered into queue
2
Enter the value to be entered into queue
1
Enter the value to be entered into queue
0
 
 
Removed Values
 
5
4
3
2
1
0

Sanfoundry Global Education & Learning Series – 1000 C++ Programs.

advertisement
advertisement
If you wish to look at all C++ Programming examples, go to C++ Programs.

If you find any mistake above, kindly email to [email protected]

advertisement
advertisement
Subscribe to our Newsletters (Subject-wise). Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!

Youtube | Telegram | LinkedIn | Instagram | Facebook | Twitter | Pinterest
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He lives in Bangalore, and focuses on development of Linux Kernel, SAN Technologies, Advanced C, Data Structures & Alogrithms. Stay connected with him at LinkedIn.

Subscribe to his free Masterclasses at Youtube & discussions at Telegram SanfoundryClasses.