Thursday, 5 September 2013

Queue Operations

// Queue.java demonstrates operations on queue


import java.util.Scanner;

class Queue
   {
   private int maxSize;
   private int[] queArray;
   private int front;
   private int rear;
   private int nItems;
   public Queue(int s)         
      {
      maxSize = s;
      queArray = new int[maxSize];
      front = 0;
      rear = -1;
      nItems = 0;
      }
   public void insert(int j)
   {
       if( !isFull())
             {                      
                 queArray[++rear] = j;
                 nItems++;
             }
       else
           System.out.println("Queue is Full");
           
   }
   public int remove()     
   {
       int temp=0;
       if(!isEmpty())
       {
           temp = queArray[front++];    
           nItems--;                               
           System.out.println("Element deleted : " +temp);
         
           if(isFull() )  
               front = 0;
       }
       else
           System.out.println("Queue is Empty");
       return temp;
    }
   public void display()   
      {
         long num;
         int n = front;
         if(isEmpty())
         {
             System.out.println("Queue is Empty");
             return;
         }
         while(n != rear + 1)
         {                           
             num = queArray[n];        
             System.out.print(num);
             System.out.print(" ");
             n++;
         }
         System.out.println("");
      }

   public boolean isEmpty()
      {    
       return (nItems==0);
      }

   public boolean isFull() 
      {
       return (nItems==maxSize);
      }
   }

class QueueApp
{
   public static void main(String[] args)
   {
      Queue theQueue = new Queue(5);
      int ch,num;
      do
      {
          System.out.println("1. Insert in Queue \n2. Delete from Queue");
          System.out.println("3. Display Queue \n4. Quit ");
          System.out.println(" Enter your Choice : ");
          Scanner input = new Scanner(System.in);
          ch = input.nextInt();
          switch(ch)
          {
              case 1:
                            System.out.println("Enter element in Queue");
                          num = input.nextInt();
                          theQueue.insert(num);
                          break;
              case 2:     theQueue.remove();
                          break;
              case 3:     theQueue.display();
                          break;
              case 4:     System.exit(0);                        
              default: System.out.println("Invalid choice!");
          }
      }while(ch > 0);
   }
}

No comments:

Post a Comment