C++ Program to Implement Stack using Linked List

«
»
This C++ program, using iteration, implements the list of elements removed from the stack in last 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 stack. 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. }

advertisement
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
If you wish to look at all C++ Programming examples, go to C++ Programs.

advertisement
advertisement
advertisement
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He is Linux Kernel Developer & SAN Architect and is passionate about competency developments in these areas. He lives in Bangalore and delivers focused training sessions to IT professionals in Linux Kernel, Linux Debugging, Linux Device Drivers, Linux Networking, Linux Storage, Advanced C Programming, SAN Storage Technologies, SCSI Internals & Storage Protocols such as iSCSI & Fiber Channel. Stay connected with him @ LinkedIn