using namespace std;
struct node
{
int data;
struct node *next;
};
class queue_list
{
struct node *front,*rear;
public:
queue_list()
{
front=NULL;
rear=NULL;
}
void insert_item(int item);
int delete_item();
void display();
};
void queue_list::insert_item(int item)
{
struct node *p;
p=(struct node*)malloc(sizeof(node));
p->data=item;
if(front==NULL)
{
front=p;
}
else
{
while(rear->next!=NULL)
{
rear=rear->next;
}
rear->next=p;
}
p->next=NULL;
rear=p;
}
void queue_list::display()
{
struct node* temp;
temp=front;
while(temp!=NULL)
{
cout<<temp->data<<"->";
temp=temp->next;
}
}
int queue_list::delete_item()
{
struct node *temp;
int item;
if(front!=NULL)
{
temp=front;
front=front->next;
item=temp->data;
free(temp);
}
else
{
cout<<"list is empty";
}
return(item);
}
int main()
{
queue_list stl;
int a,choice,item;
while(1)
{
cout<<"Enter your choice\nEnter 1 for insertion\nEnter 2 for deletion\nEnter 3 for diplay theq queue\nEnter 4 for exit\n";
cin>>choice;
switch(choice)
{
case 1:
cout<<"Enter the item\n";
cin>>item;
stl.insert_item(item);
break;
case 2:
stl.delete_item();
break;
case 3:
stl.display();
break;
case 4:
a=stl.delete_item();
cout<<"deleted data is:"<<a<<endl;;
break;
default:
cout<<"invalid entry\n";
}
}
return 0;
}
Comments