You are on page 1of 2

#include<stdio.h> #include<conio.

h>
#include<alloc.h>

struct node
{
int info;
struct node *link;
}*top=NULL,*p,*temp,*disp;

int no;
void main()
{
int c;
clrscr();
do
{
printf("ENTER 1-PUSH,2-POP,3-DISPLAY,4-EXIT \n");
printf("ENTER THE CHOICE \n");
scanf("%d",&c);
switch(c)
{
case 1:
{
push();
break;
}
case 2:
{
pop();
break;
}
case 3:
{
display();
break;
}
}
}
while(c<4);
getch();
}
push()
{
p=(struct node*)malloc(sizeof(struct node));
printf("ENTER THE NUMBER TO BE INSERTED \n");
scanf("%d",&no);
p->info=no;
if(top==NULL)
{
top=p;
p->link=NULL;
temp=p;
}
else
{
p->link=top;
top=p;
}
return;
}

pop()
{
if(top==NULL)
printf("STACK IS EMPTY \n");
else
{
temp=top;
top=top->link;
free(temp);
printf("THE DELETED ITEM IS %d\n",temp->info);
}
return;
}
display()
{
if(top==NULL)
printf("STACK IS EMPTY \n");
else
{
printf("THE ELEMENTS IN THE STACK ARE :\n");
for(disp=top;disp!=NULL;disp=disp->link)
printf("%d\n",disp->info);
}
return;
}

You might also like