1.使用数组实现队列
public class ArrayQueue {
private int size = 0;
private Object[] arr;
private int head;
private int tail;
public ArrayQueue(int size) {
this.size = size;
arr = new Object[size];
head = 0;
tail = 0;
}
public void enQueue(Object data) {
if(tail == size) {
if(head ==0) {
System.out.println("队列已满!!!");
}else {//数据搬移
for(int i=head;i<size;i++) {
arr[i-head] = arr[i];
}
head = 0;
tail = tail-head;
arr[tail] = data;
tail++;
}
}else {
arr[tail] = data;
tail++;
}
}
public Object deQueue() {
Object data = null;
if(head==tail) {
System.out.println("队列没有数据");
}else {
data = arr[head];
head++;
}
return data;
}
}