#include<iostream>
using namespace std;
void push();
void pop();
void traverse();
struct node
{ int num;
struct node *next;
}*top=NULL;
typedef struct node node;
typedef struct node* nptr;
void main()
{ char choice;
while(1)
{
system("cls");
cout<<"-----STACK USING LINKED LIST-----\n\n";
cout<<" 1.PUSH\n";
cout<<" 2.POP\n";
cout<<" 3.TRAVERSE\n";
cout<<" 4.EXIT\n";
cout<<" Enter your choice: ";
cin>>choice;
switch(choice)
{ case '1': push();
break;
case '2': pop();
break;
case '3': traverse();
break;
case '4': exit(0);
default: cout<<"\n\nInvalid choice\n\n";
}
system("pause");
}
}
void push()
{ nptr p;
int item;
if((p=new node)!=NULL)
{ cout<<"\n\nEnter the item: ";
cin>>item;
p->num=item;
p->next=top;
top=p;
}
else
{ cout<<"\n\nOverflow\n\n";
}
}
void pop()
{ nptr p;
if(top==NULL)
{ cout<<"\n\nUNDERFLOW\n\n";
}
else
{ p=top;
top=top->next;
cout<<"\n "<<p->num<<" is deleted\n\n";
delete p;
}
}
void traverse()
{ nptr p;
p=top;
if(top==NULL)
{ cout<<"\n stack is empty\n\n";
}
else
{ cout<<"\n\n STACK: ";
while(p!=NULL)
{ cout<<" "<<p->num;
p=p->next;
}
}
cout<<"\n\n";
}
Comments
Post a Comment