这次看下循环队列,也是使用数组实现,但是避免了数据的搬动。
如有不对请提出,共同提高,谢谢!!!
public class CircularQueue { private String[] items; private int n = 0; private int head = 0; private int tail = 0; public CircularQueue(int capacity) { items = new String[capacity]; n = capacity; } public boolean enqueue(String item) { if ((tail + 1) % n == head) return false; items[tail] = item; tail = (tail + 1) % n; return true; } public String dequeue() { if (head == tail) return null; String ret = items[head]; head = (head + 1) % n; return ret; } }
原文:https://www.cnblogs.com/shenqiaqia/p/10488817.html