队列的原理见博客:队列(queue)原理
使用数组来实现队列时,如果用一般的方式实现,还是比较简单的。一般队列和循环队列的实现,只是在个别地方会有不同,我在代码里已经注释出,根据自己需要修改即可。
实现的操作:
- 入队
- 出队
- 获取队首元素
- 获取队列长度
辅助操作:
- 判断队列是否为空;
- 判断队列是否满;
- 清空队列。
下面是数组循环队列的实现代码(ArrayQueue)
/**
* Created by Hzc on 2019/1/28.
* 队列的数组实现
*/
public class ArrayQueue<Type>{
/**
* MAXSIZE:队列最大长度
* queue:队列数组
* length:队列长度
* head:队首索引
* tail:队尾索引
*/
private static final int MAXSIZE = 5;
private Type[] queue;
private int length;
private int head;
private int tail;
/**
* 数组队列的两种构造方法
*/
public ArrayQueue(){//默认构造方法
queue = (Type[]) new Object[MAXSIZE]