Stack implementation using Array in C++
In this post, I will provide information about how to implement a stack using an array using a C++ programming language.
There are various types of data structures out of which stack is the most common form of data structure which is used in various activities.
C++ program to implement stack using array
A stack is a form of data structure(linear data structure). It is based on the LIFO concept, where LIFO stands for LAST IN FIRST OUT. In other words, a stack is a form of data structure in which both insertions of elements and deletion of elements happens from the same end /side.
The end from which both insertion and deletion take place in the stack is called Top of the Stack.
TYPES OF OPERATIONS PERFORMED ON THE STACK:
There are mainly three types of Operations performed on a stack, which are as follows
- PUSH operation: This operation is related to the insertion of an element on to the top of the stack.
- POP operation: This operation is related to the deletion of an element from the top of the stack.
- DISPLAY operation: This operation is used to display the elements currently present in the stack.
In stack implementation using array both insertion and deletion happens from TOP.
CODE for understanding Stack implementation using Array in C++:-
//stack implementation using C++ #include<iostream> using namespace std; int stack[100]; int n,i,top,x; void push(); void pop(); void display(); int main() { int ch; cout<<"Enter the number of elements in the stack"; cin>>n; i=1; top=-1; while(i) { cout<<"Enter your choice (1-4)<<endl; cout<<"1.PUSH\n2.POP\n3.DISPLAY\n4.EXIT\n"; cin>>ch; switch(ch) { case 1:push(); break; case 2:pop(); break; case 3:display(); break; case 4:i=0; break; default:cout<<"Wrong Choice!!!!"<<endl; break; } } return 0; } void push() { if(top>=n-1) // OVERFLOW i.e. if stack top goes beyond the size of the stack { cout<<"STACK IS OVERFLOW"<<endl; } else { cout<<"Enter the value to be added :"; cin>>x; top=top+1; stack[top]=x; } } void pop() { if(top<=-1) // Underflow i.e. stack is at index -1 { cout<<"STACK IS UNDERFLOW"<<endl; } else { cout<<"Value :"<<stack[top]<<"GOT deleted."<<endl; top--; } } void display() { if(top>=0) { cout<<"Elements in the stack are :"; for(i=top;i>=0;i--) cout<<stack[i]<<" "; cout<<"\n"; } else cout<<"STACK IS EMPTY."<<endl; }
OUTPUT:
Enter the number of elements in the stack: 5 Enter your choice (1-4)
PUSH
POP
DISPLAY
EXIT
1 Enter the value to be added:5
PUSH
POP
DISPLAY
EXIT
1 Enter the value to be added:6
PUSH
POP
DISPLAY
EXIT
3 Elements in the stack are:6 5
PUSH
POP
DISPLAY
EXIT
2 Value 6GOT deleted
PUSH
POP
DISPLAY
EXIT
3 Elements in the stack are :5
PUSH
POP
DISPLAY
EXIT
2 Value 5GOT deleted
PUSH
POP
DISPLAY
EXIT
3 STACK IS EMPTY.
PUSH
POP
DISPLAY
EXIT
2 STACK IS UNDERFLOW
PUSH
POP
DISPLAY
EXIT
You may also like:
Leave a Reply