0% found this document useful (0 votes)
14 views

C++ Program To Implement Stack Using Array

Program

Uploaded by

sports.study5
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
14 views

C++ Program To Implement Stack Using Array

Program

Uploaded by

sports.study5
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

C++ Program to Implement Stack using array

A stack is an abstract data structure that contains a collection of elements. Stack implements the
LIFO mechanism i.e. the element that is pushed at the end is popped out first. Some of the
principle operations in the stack are −

Push - This adds a data value to the top of the stack.

Pop - This removes the data value on top of the stack

Peek - This returns the top data value of the stack

A program that implements a stack using array is given as follows.

Example:

#include <iostream>

using namespace std;

int stack[100], n=100, top=-1;

void push(int val) {

if(top>=n-1)

cout<<"Stack Overflow"<<endl;

else {

top++;

stack[top]=val;

void pop() {

if(top<=-1)

cout<<"Stack Underflow"<<endl;

else {

cout<<"The popped element is "<< stack[top] <<endl;


top--;

void display() {

if(top>=0) {

cout<<"Stack elements are:";

for(int i=top; i>=0; i--)

cout<<stack[i]<<" ";

cout<<endl;

} else

cout<<"Stack is empty";

int main() {

int ch, val;

cout<<"1) Push in stack"<<endl;

cout<<"2) Pop from stack"<<endl;

cout<<"3) Display stack"<<endl;

cout<<"4) Exit"<<endl;

do {

cout<<"Enter choice: "<<endl;

cin>>ch;

switch(ch) {

case 1: {

cout<<"Enter value to be pushed:"<<endl;

cin>>val;

push(val);

break;

case 2: {

pop();

break;
}

case 3: {

display();

break;

case 4: {

cout<<"Exit"<<endl;

break;

default: {

cout<<"Invalid Choice"<<endl;

}while(ch!=4);

return 0;

In the above program, the push() function takes argument val i.e., value to be pushed into the
stack. If a top is greater than or equal to n,there is no space in a stack and overflow is printed.
Otherwise, val is pushed into the stack. The code snippet for this is as follows.

void push(int val) {

if(top>=n-1)

cout<<"Stack Overflow"<<endl;

else {

top++;

stack[top]=val;

}
The pop() function pops the topmost value of the stack, if there is any value. If the stack is empty
then underflow is printed. This is given as follows.

void pop() {

if(top<=-1)

cout<<"Stack Underflow"<<endl;

else {

cout<<"The popped element is "<< stack[top] <<endl;

top--;

The display() function displays all the elements in the stack. It uses a for loop to do so. If there are
no elements in the stack, then Stack is empty is printed. This is given below.

void display() {

if(top>=0) {

cout<<"Stack elements are:";

for(int i=top; i>=0; i--)

cout<<stack[i]<<" ";

cout<<endl;

}else

cout<<"Stack is empty";

The function main() provides a choice to the user if they want to push, pop or display the stack.
According to the user response, the appropriate function is called using switch. If the user enters
an invalid response, then that is printed.
1. Write a program that converts a decimal integer value into binary and displays the result
on the screen. For example, if the number is 3 then the result should be displayed as (11)2.
Use the stack technique to store the remainder of each step of division and pop the values
from stack and display on the screen.

2. Write a program that reverses an input string using stack and displays the result on the
screen. For example, if the input string is "ABCXYZ", it should be displayed as ZYXCBA

You might also like