一、概述
队列(queue):一种只允许在一端进行插入,在另一端进行删除的线性表结构。运行插入的一端叫队尾(rear),允许删除的一端叫队头(font)。与LIFO 的栈不同,队列是一种FIFO表。
二、顺序存储结构的队列基本操作以及算法实现
基本操作:入队、出对、队列里的元素数量、置空队列、判断是否为空、读取队列头部首元素等。
根据基本操作抽象出基本类型:
public interface IQueue{
public void enQueue(Object obj);
public Object DeQueue();
public int size();
public void clear();
public boolean isEmpty();
public Object head();
}
顺序队列的数据结构:
约定:队尾指针指示队尾元素在一维数组中的当前位置,队头指针指示队头元素在一维数组中当前元素的前一个位置。
public class Queue implements IQueue{
public final int MAXSIZE = 100;
public int elem[] = new int[MAXSIZE];
public int front,rear;
public Queue(){
front = -1;//初始化队列
rear = -1;//初始化队列
}
}
2.1.入队操作
public void enQueue(in