Sunday, 14 February 2016

Linear Queue Program Using Array

import java.util.Scanner;

class LinearQueueArray {

    int queue[], size, front, rear;

    public LinearQueueArray(int n) {
          size = n;
          queue = new int[size];
          front = rear = -1;
    }

    public int enqueue(int item) {
        if(front == -1)
              ++front;
          return queue[++rear] = item;
    }

    public int dequeue() {
        return queue[front++];
    }

    public int peek() {
          return queue[front];
    }

    public void display() {
          for(int i=front; i<=rear; i++)
              System.out.printf("%5d", queue[i]);
          System.out.println();
    }

    public boolean isEmpty() {
        return (front == rear + 1 || (front == -1 && rear == -1));
    }

    public boolean isFull() {
        return rear == size - 1;
    }
}

public class LinearQueue {

    public static void main(String[] ar) {
         
          Scanner input = new Scanner(System.in);
         
          System.out.print("\n Enter the length of queue : ");
          int size = input.nextInt();

          LinearQueueArray linearQueueArray = new LinearQueueArray(size);
         
          while(true) {
              System.out.println("\n 1. Enqueue \n 2. Dequeue \n 3. Peek \n 4. display \n Press 0 for exit.");
              System.out.print("\n Enter Your Choice : ");
              int ch = input.nextInt();
              switch(ch) {
                   case 0:                     
                       return;

                   case 1:
                    boolean full = linearQueueArray.isFull();
                    if(full) {
                        System.out.println(" Queue is Full.");
                        break;
                    }
                    System.out.print(" Enter the Element to Enqueue : ");
                    int enqueue = linearQueueArray.enqueue(input.nextInt());
                    System.out.println(" Enqueue Item : " + enqueue);
                       break;

                   case 2:
                    boolean empty = linearQueueArray.isEmpty();
                    if(empty) {
                        System.out.println(" Queue is Empty.");
                        break;
                    }
                    int dequeue = linearQueueArray.dequeue();
                    System.out.println(" Dequeue Item : " + dequeue);
                       break;

                   case 3:
                    boolean emp = linearQueueArray.isEmpty();
                    if(emp) {
                        System.out.println(" Queue is Empty.");
                        break;
                    }
                    int peek = linearQueueArray.peek();
                    System.out.println(" Front Element : " + peek);
                       break;

                   case 4:
                    boolean e = linearQueueArray.isEmpty();
                    if(e) {
                        System.out.println(" Queue is Empty.");
                        break;
                    }
                       linearQueueArray.display();
                       break;

                   default:
                       System.out.println("\n Wrong Choice Entered. ");
              }
          }
    }
}

No comments:

Post a Comment