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

Stack operations

This C program implements stack operations using a switch case menu. It allows users to push, pop, peek, display elements, and check the size of the stack. The program handles stack overflow and underflow conditions appropriately.

Uploaded by

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

Stack operations

This C program implements stack operations using a switch case menu. It allows users to push, pop, peek, display elements, and check the size of the stack. The program handles stack overflow and underflow conditions appropriately.

Uploaded by

anshiiika0214
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

/* C Program for stack operations using switch case*/

#include<stdio.h>
#include<stdlib.h>
#define MAX 10

int stack_arr[MAX];
int top = -1;

void push(int item);


int pop();
int peek();
int isEmpty();
int isFull();
int size();
void display();

int main()
{
int choice,item;
while(1)
{
printf("\n1.Push\n");
printf("2.Pop\n");
printf("3.Display the top element\n");
printf("4.Display all stack elements\n");
printf("5. Size of stack\n");
printf("6.Quit\n");
printf("\nEnter your choice : ");
scanf("%d",&choice);
switch(choice)
{
case 1 :
printf("\nEnter the item to be pushed : ");
scanf("%d",&item);
push(item);
break;
case 2:
item = pop();
printf("\nPopped item is : %d\n",item );
break;
case 3:
printf("\nItem at the top is : %d\n", peek() );
break;
case 4:
display();
break;
case 5:
printf("\nsize of stack: %d\n",top+1);
break;
case 6:
exit(1);
default:
printf("\nWrong choice\n");
}/*End of switch*/
}/*End of while*/

return 0;
}/*End of main()*/

void push(int item)


{
if( isFull() )
{
printf("\nStack Overflow\n");
return;
}
top = top+1;
stack_arr[top] = item;
}/*End of push()*/
int size()
{
if(isEmpty())
{
printf("stack is empty");
return 0;
}
else
return top+1;
}
int pop()
{
int item;
if( isEmpty() )
{
printf("\nStack Underflow\n");
exit(1);
}
item = stack_arr[top];
top = top-1;
return item;
}/*End of pop()*/

int peek()
{
if( isEmpty() )
{
printf("\nStack Underflow\n");
exit(1);
}
return stack_arr[top];
}/*End of peek()*/

int isEmpty()
{
if( top == -1 )
return 1;
else
return 0;
}/*End of isEmpty*/

int isFull()
{
if( top == MAX-1 )
return 1;
else
return 0;
}/*End of isFull*/

void display()
{
int i;
if( isEmpty() )
{
printf("\nStack is empty\n");
return;
}
printf("\nStack elements :\n\n");
for(i=top;i>=0;i--)
printf(" %d\n", stack_arr[i] );
printf("\n");
}/*End of display()*/

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy