Friday, June 14, 2013

QUEUE IMPLEMENTATION

QUEUE IMPLEMENTATION (C++ CODE):

//queue


#include<iostream.h>
#include<conio.h>


class queue_sll
 {
    private:
    struct queue
      {
 int data;
 struct queue *next;
      }*rear,*front;
    public:
   queue_sll()
      {
 rear = front = NULL;
      }
   void insert(int x);
   int delete_q();
   void display();
 };

void main()
 {
      queue_sll ob1;

      char choice;
      int ch,val;
      clrscr();
      do
      {
cout<<"\n MENU:\n";
cout<<"\n 1.insert.\n 2.delete.\n Enter Your Choice:";
cin>>ch;
switch(ch)
{
case 1:
cout<<"\n Enter the data :" ;
cin>>val;
ob1.insert(val);
ob1.display();
break;

case 2:
val=ob1.delete_q();
ob1.display();
if(val == 0)
     cout<<"\n Queue Is Empty";
else
     cout<<"\n Element is deleted from queue:"<<val;

break;

}
cout<<"\n Do you want to continue(y/n)";
cin>>choice;
    }while(choice=='y' || choice =='Y');
}

void queue_sll::insert(int x)
  {
    queue *node;
    node =new queue;
    node->data = x;
    node->next = NULL;
    if(node == NULL)
   cout<<"\n Queue Is Full";

    if(rear == NULL)
{
   rear= front = node;
}
    else
{
   rear->next = node;
   rear = node;
}
  }

int queue_sll :: delete_q()
  {
      queue *temp;
      int val;
      if(front == NULL)
      return 0;

      else
   {
temp = front;
val = temp->data;
front = front->next;
delete(temp);

return val;
   }

  }

void queue_sll::display()
  {
      queue *temp = front;
      cout<<"\n Data is:";
      while(temp != NULL)
  {
      cout<<" "<<temp->data;
      temp = temp->next;
  }
  }


No comments:

Post a Comment

Thanks for your valuable comment