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 + -
显示快捷键?