顺序队列因为是用数组实现的,所以顺序队列的容量是有限的,需要判断是否为满。
入队操作是先将已入队结点往后移,再到头指针出插入要入队的结点。出队是直接找尾指针出队。
package Queue;
public class ArrayQueue {
static int[] queue = new int[10];
static int head = -1;
static int rear = -1;
public static void main(String[] args) {
push(1);
push(2);
push(3);
pop();
pop();
}
public static void push(int data) {
if (rear < 10) {
rear++;
for(int i = rear - 1; i > head; i--) {
queue[i+1] = queue[i];
}
queue[head + 1] = data;
}
else
System.out.println("out of queue");
}
public static void pop() {
if (head == rear) {
System.out.println("null");
}
else {
System.out.println(queue[rear]);
rear--;
}
}
}
结果如下
1
2