/**
 * StupidQueue
 * Naive implementation of the Queue abstract data type
 *
 * @author Chris Clifton
 *
 * @recitation mw4 Clifton
 *
 * @date 2/14/2011
 *
 */

class StupidQueue implements Queue {
// Additional constants
  static final int size = 4;
// Instance variables
  Person q[] = new Person[size];
  int head = 0, tail = 0;
// Constructor
  public StupidQueue() {
    q[head] = EMPTYRESULT;
  }
// Methods
  public void enqueue ( Person item ) {
    q[tail] = item;
    q[++tail] = EMPTYRESULT;
  }
  public Person dequeue() {
    return q[head++];
  }
  public boolean isEmpty() {
    return q[head] == EMPTYRESULT;
  }
  public boolean isFull() {
    return tail >= size-1; // Tail ranges from 0 to size-1, need 1 for emptyResult.
  }
}