数组模拟队列
代码实现
class Main{ public static void main(String[] args) { ArraySimulationQueue arraySimulationQueue = new ArraySimulationQueue(5); arraySimulationQueue.addQueue(5); arraySimulationQueue.addQueue(6); arraySimulationQueue.addQueue(7); arraySimulationQueue.addQueue(8); System.out.println(arraySimulationQueue.TakeOut()); System.out.println(arraySimulationQueue.TakeOut()); System.out.println(arraySimulationQueue.TakeOut()); System.out.println(arraySimulationQueue.TakeOut()); } } public class ArraySimulationQueue { private int head; private int tail; private int maxSize; private int[] array; public ArraySimulationQueue(int maxSize) { this.head = -1; this.tail = -1; this.maxSize = maxSize; array = new int[maxSize]; } public boolean IsNull() { return tail == head; } public boolean IsFull() { return tail == maxSize - 1; } //添加数据 public void addQueue(int num) { if (IsFull()) { System.out.println("队列已满"); return; } tail++; array[tail] = num; } //出队列 public Integer TakeOut() { if (IsNull()) { System.out.println("队列为空"); return null ; } head++; return array[head]; } //获取头结点 public Integer getHead() { if (IsNull()) { System.out.println("队列为空"); return null; } return array[head + 1]; } public void show() { if (IsNull()) return; for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } } }


浙公网安备 33010602011771号