Friday 23 September 2011

Queue Program using Linked List


#include<iostream>
#include<cstdlib>
using namespace std;
class queue
{
   public:
   struct node
     {
       int ele;
       struct node *link;
     };
   node *head;
   void insert(int);
   void del();
   queue()
     {
       head=NULL;
     }
   void display();
};
void queue::insert(int ele)
{
   node *t,*p;
   t=new node;
   t->ele=ele;
   t->link=NULL;
   p=new node;
   p=head;
   if(head==NULL)
       head=t;
   else
     {
        while(p->link!=NULL)
            p=p->link;
        p->link=t;
     }
}
void queue::del()
{
     node *p;
     if(head==NULL)
         cout<<"\nQueue is empty";
     else if(head->link==NULL)
       {
          delete head;
          head=NULL;
       }
     else
       {
          p=new node;
          p=head;
          head=p->link;
          delete p;
       }
}
void queue::display()
{
 node *p;
 p=new node;
 p=head;
 while(p!=NULL)
  {
     cout<<p->ele<<"\t";
     p=p->link;
 }
}
int main()
{
 queue ob;
 int ele,option;
 while(1)
   {
         cout<<"\n1.Insert\n2.Delete\n3.Display\n4.Exit program";
         cout<<"\nEnter your option: ";
         cin>>option;
         switch(option)
            {
                 case 1:
                   {
                       cout<<"\nEnter element to be inserted ";
                       cin>>ele;
                       ob.insert(ele);
                   }
                   break;
                 case 2:
                   ob.del();
                   break;
                 case 3:
                   ob.display();
                   break;
                 case 4:
                   exit(1);
           }
   }
}

No comments:

Post a Comment