#include<stdio.h>
#include<conio.h>
#define STACKSIZE 5
int main()
{
void STKPUSH(int[],int);
void STKPOP(int[]);
void STKDISP(int[]);
int STACK[STACKSIZE],DATA,TOP;
char CHOICE;
do
{
fflush(stdin);
printf("\nEnter : i(STKPUSH), d(STKPOP), q(quit):\n");
scanf("%c",&CHOICE);
switch(CHOICE)
{
case 'i':
case 'I':
printf("\nEnter the DATA:");
scanf("%d",&DATA);
STKPUSH(STACK,DATA);
break;
case 'd':
case 'D':
STKPOP(STACK);
break;
case 'q':
case 'Q':
break;
default:
printf("\nWrong key pressed - \n");
getch();
continue;
}
if(TOP>=0)
{
printf("\n\nSTACKtack after the operation performed:\n\n");
STKDISP(STACK);
}
getch();
}while(1);
return 0;
}
void STKPUSH(int STACK[],int DATA)
{
if(TOP==STACKSIZE-1)
{
printf("\nOVERFLOW");
exit(1);
}
else
{
STACK[++TOP]=DATA;
if(TOP==STACKSIZE-1)
{
printf("\nNo element will be inserted next time\n");
}
}
}
void STKPOP(int STACK[])
{
if(TOP<0)
{
printf("\nUNDERFLOW");
exit(1);
}
else
{
printf("\nPopped element: %d",STACK[TOP--]);
if(TOP<0)
{
printf("\n\nNo element left in the stack now\n");
}
}
}
void STKDISP(ins STACK[])
{
int i;
printf("%d <----- TOP\n",STACK[TOP]);
for(i=0;TOP-1;i>=0;i--)
{
printf("%d\n",STACK[i]);
}
}
No comments:
Post a Comment