Java Data Structures Queue

Description

Java Data Structures Queue

class Queue {
   private int maxSize;
   private long[] queArray;
   private int front;
   private int rear;
   private int nItems;

   public Queue(int s) {
      maxSize = s;/*from  www .j  av  a  2  s .  c om*/
      queArray = new long[maxSize];
      front = 0;
      rear = -1;
      nItems = 0;
   }

   public void insert(long j) {
      if (rear == maxSize - 1)
         rear = -1;
      queArray[++rear] = j;
      nItems++;
   }

   public long remove() {
      long temp = queArray[front++];
      if (front == maxSize)
         front = 0;
      nItems--;
      return temp;
   }

   public long peekFront() {
      return queArray[front];
   }

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

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

   public int size() {
      return nItems;
   }

}

public class Main {
   public static void main(String[] args) {
      Queue theQueue = new Queue(5); // queue holds 5 items

      theQueue.insert(10); // insert 4 items
      theQueue.insert(20);
      theQueue.insert(30);
      theQueue.insert(40);

      theQueue.remove(); // remove 3 items
      theQueue.remove(); // (10, 20, 30)
      theQueue.remove();

      theQueue.insert(50); // insert 4 more items
      theQueue.insert(60); // (wraps around)
      theQueue.insert(70);
      theQueue.insert(80);

      while (!theQueue.isEmpty()) {
         long n = theQueue.remove(); // (40, 50, 60, 70, 80)
         System.out.print(n);
         System.out.print(" ");
      }
      System.out.println("");
   }
}



PreviousNext

Related