队列与栈很类似,它是一种特殊的线性表。这种线性表,对于它的删除与插入操做只能在表头(队列头 front)和表尾(队尾 rear)进行;队列的修改是按先进先出原则进行的。简称FIFO表。demo以下: spa
class Queue {
private int maxSize;
private long[] queArray;
private int rear; // 队尾标量
private int front;
public Queue(int size) {
maxSize = size;
queArray = new long[maxSize];
front = 0;
rear = 0;
}
public void add(long j) {
if (rear > maxSize - 1)
return;
queArray[rear++] = j;
}
// 队头元素出队
public long remove() {
long value = queArray[front++];
return value;
}
// 获取队头元素,不删除
public long peek() {
return queArray[front];
}
// 判断队列是否为空
public boolean isEmpty() {
return rear == front;
}
// 判断队列是否已满
public boolean isFull() {
return rear == maxSize - 1;
}
}
public class QueueApp {
public static void main(String[] args) {
Queue queArray = new Queue(5);
queArray.add(10);
queArray.add(20);
queArray.add(30);
queArray.add(40);
while(!queArray.isEmpty()) {
// FIFO 出队
System.out.print(queArray.remove()+"<--");
}
}
} 队列