PRIORITY QUEUES USING LINKED LISTS

import java.io.*; class node {   int n,pri;   node prev,next; } class Queuepriority {   public static void main(String arg...

import java.io.*;
class node
{
  int n,pri;
  node prev,next;
}
class Queuepriority
{
  public static void main(String args[])throws IOException
 {
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  int ch;
  node p,q=null,front=null,rear=null;
 do
  {
    System.out.println("1:insertion\n2:deletion\n3:display");
    System.out.println("enter u r choice");
    ch=Integer.parseInt(br.readLine());
    switch(ch)
   {
      case 1:
      p=new node();
      System.out.println("enter u r data");
      p.n=Integer.parseInt(br.readLine());
     System.out.println("enter u r priority");
     p.pri=Integer.parseInt(br.readLine());
     p.prev=null;
    if(front==null)
   {
       front=p;
       rear=p;
   }
   else
   {
      rear.next=p;
      p.prev=rear;
      rear=p;
    }
   break;

   case 2:
   if(front==null)
   {
       System.out.println("queue is empty");
    }
   else
    {
       for(p=front;p != null;p=p.next)
         {
             for(q=front.next;q != null;q=q.next)
            {
               if(p.pri > q.pri)
               {
                 int temp=p.pri;
                 p.pri=q.pri;
                q.pri=temp;
                temp=p.n;
                p.n=q.n;
                q.n=temp;
               }
            }
         }
        System.out.println("element"+front.n+"deleted");
        front=front.next;
        front.prev=null;
      }
     break;

    case 3:
    if(front != null)
    {
      for(p=front;p != null;p=p.next)
     {
        System.out.println("priority\t"+p.pri+"data\t"+p.n);
     }
    }
   else
   {
     System.out.println("queue is empty");
   }
   break;
   }
   }while(ch!=4);
  }
}

OUTPUT:

1:insertion
2:deletion
3:display
enter u r choice
1
enter u r data     99
enter u r priority
4
1:insertion
2:deletion
3:display
enter u r choice
1
enter u r data   77
enter u r priority
2
1:insertion
2:deletion
3:display
enter u r choice
1
enter u r data    88
enter u r priority
1
1:insertion
2:deletion
3:display
enter u r choice
3
priority        4  data   99
priority        2  data   77

priority        1  data   88

Related

Data Structures 8600759668369357701

Post a Comment

emo-but-icon

item