用数组来实现队列,具体过程如下:
public class MyQueue {
int[] elements;
//构造方法
public MyQueue() {
elements = new int[0];
}
//入队
public void add(int elem) {
//创建一个新数组
int[] element = new int[elements.length + 1];
for(int i = 0; i < elements.length; i++) {
element[i] = elements[i];
}
element[elements.length] = elem;
elements = element;
}
//出队
public int poll() {
//取得数组中的第一个元素
int elem = elements[0];
int[] newElement = new int[elements.length - 1];
for(int i = 0; i < newElement.length; i++) {
newElement[i] = elements[i + 1];
}
elements = newElement;
return elem;
}
//判断队空
public boolean isEmpty() {
return elements.length == 0;
}
}
编写测试程序,用来测试队列的实现。
import java.util.Scanner;
public class TestMyQueue {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyQueue mq = new MyQueue();
Scanner input = new Scanner(System.in);
System.out.print("请输入队列中元素的个数:");
int n = input.nextInt();
System.out.println("现在开始入队:");
for(int i = n; i >= 0; i--) {
mq.add(i);
}
System.out.println("现在开始出队");
for(int i = 0; i <= n; i++) {
System.out.println(mq.poll());
}
}
}