队列

public class Queue {
  private int head;
  private int tail;
  private int maxSize;
  private long[] queueArray;
  private int num;

  public Queue(int maxSize) {
    this.maxSize = maxSize;
    queueArray = new long[maxSize];
    head = 0;
    tail = 0;
    num = 0;
  }

  public void enQueue(long value) {
    queueArray[tail] = value;
    if (tail == maxSize - 1) {
      tail = 0;
    } else {
      tail = tail + 1;
    }
    num++;
  }

  public long deQueue() {
    long value = queueArray[head];
    if (head == maxSize - 1) {
      head = 0;
    } else {
      head = head + 1;
    }
    num--;
    return value;
  }

  public boolean isEmpty() {
    return num == 0 ? true : false;
  }

  public boolean isFull(){
    return num == maxSize ? true : false;
  }

  public int size() {
    return num;
  }

}

posted @ 2015-08-12 15:20  studyForAndroid  阅读(99)  评论(0)    收藏  举报