package com.openlab.队列;/**
* 队列(queue):只允许在一端进行插入操作,在另一端进行删除操作的线性表
* 是一种先进先出的线性表,允许插入的一端称为队尾,允许删除的一端为队首
* @author Administrator
* @param <E>
*
*/publicinterfaceQueue<E>{/**
* 元素个数
* @return 队列元素个数
*/publicintgetSize();/**
* 判断是否为空
* @return 是否为空
*/publicbooleanisEmpty();/**
* 清空队列
*/publicvoidclear();/**
* 入队一个新元素
* @param e
*/publicvoidenqueue(E e);/**
* 出队一个元素
* @return e
*/public E dequeue();/**
* 获取队首元素不出队
* @return e
*/public E getFront();/**
* 获取队尾元素不出队
* @return d
*/public E getRear();}
顺序结构的实现ArrayQueue<>
构造
publicclassArrayQueue<E>implementsQueue<E>{private ArrayList<E> list;//由线性表实现publicArrayQueue(){
list =newArrayList<E>();//默认容量的构造}publicArrayQueue(int capacity){
list =newArrayList<E>(capacity);//指定容量的构造}
方法
publicintgetSize(){return list.getSize();}publicbooleanisEmpty(){return list.isEmpty();}publicvoidclear(){
list.clear();}/**
* 进队
*/publicvoidenqueue(E e){
list.addLast(e);//就是ArrayList在末尾加入元素}/**
* 出队
*/public E dequeue(){return list.removeFirst();//就是ArrayList开始在删除元素}/**
* 队首元素
*/public E getFront(){return list.getFirst();}/**
* 队尾元素
*/public E getRear(){return list.getLast();}