Stack in C++ Using Linked List

Here you will learn about stack in C++ using a program example.

Stack is an abstract datatype which follows Last In First Out (LIFO) principle. Basically stack has two operations namely push and pop. 

push: inserting an element at the top of the stack

pop: removing an element from the top of the stack

Below code shows you how to implement stack in C++ using linked list data structure.

 

Program for Stack in C++

#include<iostream>
#include<process.h>

using namespace std;

struct Node
{
	int data;
	Node *next;
}*top=NULL,*p;

Node* newnode(int x)
{
	p=new Node;
	p->data=x;
	p->next=NULL;
	return(p);
}

void push(Node *q)
{
	if(top==NULL)
		top=q;
	else
	{
		q->next=top;
		top=q;
	}
}

void pop(){
	if(top==NULL){
		cout<<"Stack is empty!!";
	}
	else{
		cout<<"Deleted element is "<<top->data;
		p=top;
		top=top->next;
		delete(p);
	}
}

void showstack()
{
	Node *q;
	q=top;

	if(top==NULL){
		cout<<"Stack is empty!!";
	}
	else{
		while(q!=NULL)
		{
			cout<<q->data<<" ";
			q=q->next;
		}		
	}
}

int main()
{
	int ch,x;
	Node *nptr;
	
	while(1)
	{
		cout<<"\n\n1.Push\n2.Pop\n3.Display\n4.Exit";
		cout<<"\nEnter your choice(1-4):";
		cin>>ch;
		
		switch(ch){
			case 1: cout<<"\nEnter data:";
					cin>>x;
					nptr=newnode(x);
					push(nptr);
					break;
			
			case 2: pop();
					break;
					
			case 3: showstack();
					break;
			
			case 4: exit(0);
			
			default: cout<<"\nWrong choice!!";
		}
	}
	
	return 0;
}

 

Output:

1.Push
2.Pop
3.Display
4.Exit
Enter your choice(1-4):1

Enter data:7
1.Push
2.Pop
3.Display
4.Exit
Enter your choice(1-4):1

Enter data:8
1.Push
2.Pop
3.Display
4.Exit
Enter your choice(1-4):3
8 7

1.Push
2.Pop
3.Display
4.Exit
Enter your choice(1-4):4

11 thoughts on “Stack in C++ Using Linked List”

  1. its realiy so nice to use it . thanku so much for creating this beause it is helpfull to every one who are studing this subjest.. keep doing it and ALL THE BEST FOR UR BEST FUCTURE..

  2. Though I have done it myself but it is very much similar to what you have written I am getting problem in showing the data where it is not showing the data entered the first time.

Leave a Comment

Your email address will not be published. Required fields are marked *