Stack Implementation Using Arrays
Stack Implementation Using Arrays
#include <stdio.h>
int stack[100],i, j, choice=0,n,top=-1;
void push();
void pop();
void show();
void main ()
{
printf("\n----------------------------------------------\n");
while(choice != 4)
{
printf("Chose one from the below options...\n");
printf("\n1.Push\n2.Pop\n3.Show\n4.Exit");
printf("\n Enter your choice \n");
scanf("%d",&choice);
switch(choice)
{
case 1:
{
push();
break;
}
case 2:
{
pop();
break;
}
case 3:
{
show();
break;
}
case 4:
{
printf("Exiting....");
break;
}
default:
printf("Please Enter valid choice ");
};
}
}
void push ()
{
int val;
if (top == n )
printf("\n Overflow");
else
{
printf("Enter the value?");
scanf("%d",&val);
top = top +1;
stack[top] = val;
}
}
void pop ()
{
if(top == -1)
printf("Underflow");
else
top = top -1;
}
void show()
{
for (i=top;i>=0;i--)
{
printf("%d\n",stack[i]);
}
if(top == -1)
{
printf("Stack is empty");
}
}
Here, we have defined a structure called Stack, which consists of an array of integers
named arr and an integer top used to identify the element that is now at the top.
The MAX_SIZE constant denotes the stack's maximum capacity.
We must initialize a stack before using it by setting the top variable to -1, which denotes an empty
stack. The initialization function is seen here: