Implement queue as linked list

// Implement queue as linked list //

#include"iostream.h"
#include"conio.h"
#include'alloc.h"
#define NULL 0
#define MAX 5
struct que
{
int info;
struct que *next;
};
class qlink
{
struct que *f,*r;
public:
qlink()
{
f=r=NULL;
}
void display(void);
void insert(void);
void del (void);
};
void qlink::insert (void)
{
int item;
cout<<"Enter the term to insert:";
cin>>item;
if(f==NULL)
{
f=(struct que *)malloc(sizeof(struct que));
f->info=item;
f->next=r;
r=f;
}
else
{
r->next=(struct que *)malloc(sizeof(struct que));
r=r->next;
r->info=item;
r->next=NULL;
}
return;
}
void qlink::display(void)
{
struct que *t;
if(f==NULL)
{
cout << endl <<"UNDERFLOW";
}
t=f;
while(t!=NULL)
{
cout << endl <info;
t=t->next;
}
return;
}
void qlink::del(void)
{
struct que *t;
if(f==NULL)
cout<<"UNDERFLOW";
else
{
t=f->next;
cout<<"Deleted term is"<info;
free(f);
f=t;
}
return;
}
int main()
{
qlink q1;
int ch;
do
{
clrscr();
cout<<"1->Insert\n";
cout<<"2->Display\n";
cout<<"3->Delete\n";
cout<<"4->EXIT\n";
cout<<"Enter your choice:";
cin>>ch;
switch(ch)
{
case '1':
q1.insert();
break;
case '2':
cout<<"Queue\n";
q1.display();
getch();
break;
case '3':
q1.del();
getch();
break;
case '4':
cout<<"Exiting";
getch();
break;
default:
cout<<"Invalid choice";
getch();
break;
}
}while(ch!=4);
return(0);
}

Post a Comment

Previous Post Next Post