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

Stack PUSH & POP Implementation Using Arrays

This document describes how to implement a stack using arrays in C. It defines functions for push(), pop(), and display() operations on the stack. Push() adds an item to the top of the stack by incrementing the top pointer unless the stack is full. Pop() removes an item from the top by returning and decrementing the top pointer unless the stack is empty. Display() prints the contents of the stack from top to bottom. These functions are used in a sample program that provides a menu to push, pop, or exit and demonstrates using the stack implementation.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

Stack PUSH & POP Implementation Using Arrays

This document describes how to implement a stack using arrays in C. It defines functions for push(), pop(), and display() operations on the stack. Push() adds an item to the top of the stack by incrementing the top pointer unless the stack is full. Pop() removes an item from the top by returning and decrementing the top pointer unless the stack is empty. Display() prints the contents of the stack from top to bottom. These functions are used in a sample program that provides a menu to push, pop, or exit and demonstrates using the stack implementation.
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Stack PUSH & POP Implementation using

Arrays
/*STACK PUSH() AND POP() IMPLEMENTATION USING ARRAYS*/
#include <stdio.h>
#include<conio.h>
#define MAX 5
int top, status;
/*PUSH FUNCTION*/
void push (int stack[], int item)
{
if (top == (MAX-1))
status = 0;
else
{
status = 1;
++top;
stack [top] = item;
}
}
/*POP FUNCTION*/
int pop (int stack[])
{
int ret;
if (top == -1)
{
ret = 0;
status = 0;
}
else
{
status = 1;
ret = stack [top];
--top;
}
return ret;
}
/*FUNCTION TO DISPLAY STACK*/
void display (int stack[])
{
int i;
printf ("\nThe Stack is: ");
if (top == -1)
printf ("empty");
else

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


printf ("\n--------\n|%3d
|\n--------",stack[i]);
}
printf ("\n");
}
/*MAIN PROGRAM*/
void main()
{
int stack [MAX], item;
int ch;
clrscr ();
top = -1;
do
{ do
{
printf ("\NMAIN MENU");
printf ("\n1.PUSH (Insert) in the Stack");
printf ("\n2.POP (Delete) from the Stack");
printf ("\n3.Exit (End the Execution)");
printf ("\nEnter Your Choice: ");
scanf ("%d", &ch);
if (ch<1 || ch>3)
printf ("\nInvalid Choice, Please try
again");
}while (ch<1 || ch>3);
switch (ch)
{case 1:
printf ("\nEnter the Element to be pushed :
");
scanf ("%d", &item);
printf (" %d", item);
push (stack, item);
if (status)
{
printf ("\nAfter Pushing ");
display (stack);
if (top == (MAX-1))
printf ("\nThe Stack is Full");
}
else
printf ("\nStack overflow on Push");
break;
case 2:
item = pop (stack);

if (status)
{
printf ("\nThe Popped item is %d.
After Popping: ");
display (stack);
}
else
printf ("\nStack underflow on Pop");
break;
default:
printf ("\nEND OF EXECUTION");
}
}while (ch != 3);
getch();
}

You might also like