Top baner Big

Your Ad Here

Top Banner

Your Ad Here

Saturday, November 22, 2008

Implementation of stack using linked list

/*Program : Implementation of stack using linked list
Programmer ::fizmhd(MEA) www.mdown.co.cc*/

#include
#include

#define maxsize 10
void push();
void pop();
void display();

struct node
{
int info;
struct node *link;
}*start=NULL, *new,*temp,*p;
typedef struct node N;


main()
{
int ch,a;
do
{
printf("\t\t\tLinked stack");
printf("\n 1.Push");
printf("\n 2.Pop");
printf("\n 3.Display");
printf("\n 4.Exit");
printf("\n Enter your choice : ");
scanf("%d",&ch);
switch(ch)
{
case 1:
push();
break;
case 2:
pop();
break;
case 3:
display();
break;
case 4:
exit(0);
default:
printf("\nInvalid choice");
break;
}
}
while(ch<=3);
}

void push()
{
new=(N*)malloc(sizeof(N));
printf("\nEnter the item : ");
scanf("%d",&new->info);
new->link=NULL;
if(start==NULL)
start=new;
else
{
p=start;
while(p->link!=NULL)
p=p->link;
p->link=new;
}
}


void pop()
{
if(start==NULL)
printf("\nStack is empty");
else if(start->link==NULL)
{
printf("\nThe deleted element is : %d",start->info);
free(start);
start=NULL;
}

else
{
p=start;
while(p->link!=NULL)
{
temp=p;
p=p->link;
}
printf("\nDeleted element is : %d\n", p->info);
temp->link=NULL;
free(p);
}
}


void display()
{
if(start==NULL)
printf("\nStack is empty");
else
{

printf("\nThe elements are : ");
p=start;
while(p!=NULL)
{
printf("%d",p->info);
p=p->link;
}
printf("\n");
}
}

No comments:

Easy Hits

EasyHits4U.com - Your Free Traffic Exchange - 1:1 Exchange Ratio, 5-Tier Referral Program. FREE Advertising!

Bottom Square