arrayqueue.java

来自「JAVA实现的数据结构」· Java 代码 · 共 43 行

JAVA
43
字号
//                      queue implemented as an array

public class ArrayQueue {
    private int first, last, size;
    private Object[] storage;
    public ArrayQueue() {
        this(100);
    }
    public ArrayQueue(int n) {
        size = n;
        storage = new Object[size];
        first = last = -1;
    }
    public boolean isFull()  {
        return first == 0 && last == size-1 || first == last + 1;
    }
    public boolean isEmpty() {
        return first == -1;
    }
    public void enqueue(Object el) {
        if (last == size-1 || last == -1) {
             storage[0] = el;
             last = 0;
             if (first == -1)
             first = 0;
        }
        else storage[++last] = el;
    }
    public Object dequeue() {
        Object tmp = storage[first];
        if (first == last)
             last = first = -1;
        else if (first == size-1)
             first = 0;
        else first++;
        return tmp;
    }
    public String toString() {
        return java.util.Arrays.toString(storage);
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?