数组作为存储结构实现队列,这个还是比较简单的。
package 队列;
/*
* 此队列使用数组作为存储结构
* 操作有入队、出队、判断是否为空
* @author 此间
* @time 2019/4/21 22:14
*/
public class ArrayQueue {
int[] elements;
public ArrayQueue() {
elements = new int[0];
}
//入队
public void add(int element) {
//创建一个新数组
int[] newArr = new int[elements.length+1];
//把原数组的内容复制到新数组中
for(int i=0;i<elements.length;i++) {
newArr[i]=elements[i];
}
//增添新元素到新数组中
newArr[elements.length] = element;
//新数组替换旧数组
elements = newArr;
}
//出队
public int poll() {
//队头为数组第0个元素
int element = elements[0];
//创建一个新数组
int[] newArray = new int[elements.length-1];
//数组替换
elements = newArray;
return element;
}
//是否为空
public boolean isEmpty() {
if(elements.length==0) {
return true;
}return false;
}
public void display() {
for(int i=0;i<elements.length;i++) {
System.out.print(elements[i]+" ");
}
}
public static void main(String[] args) {
ArrayQueue aq = new ArrayQueue();
aq.add(8);
aq.add(7);
aq.add(6);
aq.display();
}
}