用数组实现队列
package QueueCode;
import java.util.Scanner;
public class ArrayQueueDemo {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
//获取队列大小
int size=Integer.parseInt(scanner.nextLine());
//初始化队列
QueueTest queueTest=new QueueTest(size);
//执行队列操作
while (scanner.hasNextLine()) {
String[] arr=scanner.nextLine().split(" ");
if ("push".equals(arr[0])) {
queueTest.push(Integer.parseInt(arr[1]));
}else if ("pop".equals(arr[0])) {
queueTest.pop();
}else {
queueTest.front();
}
}
}
}
//定义队列
class QueueTest{
private int size; //队列容量
private int down=0;//头指针
private int[] data;//数组,存放数据
private int count=0;//当前数组元素个数
//初始化队列
public QueueTest(int size) {
this.size=size;
this.data=new int[size];
}
//添加元素
public void push(int i) {
if (this.count==this.size) {
System.out.println("error");
return;
}
data[down++]=i;
this.count++;
}
//元素出队列并删除
public void pop() {
if (this.count==0) {
System.out.println("error");
return;
}
System.out.println(data[0]);
this.count--;
for (int i = 0; i <this.down; i++) {
data[i]=data[i+1];
}
this.down--;
}
//查看队列头元素
public void front() {
if (this.count==0) {
System.out.println("error");
return;
}
System.out.println(data[0]);
}
}