Queues

Nathan Sprague

Queue Interface

public interface Queue<E> {

  void enqueue(E item);

  E dequeue();

  E peek();

  boolean isEmpty();

  int size();
  
}

Queue Applications

Circular Arrays

Some Options for Circular Increment:

    
    // Option A
    index++;
    if (index == array.length) {
      index = 0;
    }
    
    // Option B
    if (index == array.length - 1) {
      index = 0;
    } else {
      index++;
    }
    
    // Option C
    index = (index + 1) % array.length;
    

Dynamic-Array Based AQueue

Linked Queue

Linked Queue