1、什么是队列
2、队列的存储结构
3、队列的常用操作及实现代码
1、什么是队列
(1)首先,队列也是一种特殊的线性表,它是一种操作受限的线性表。只允许在表的一端进行元素插入,而在另一端进行元素删除。允许插入的一端称为队尾,允许删除的一端称为队头。
(2)队列与现实生活中的排队类似(如下图),新加入的成员总是在队尾,而排在队列最前面的总是最先离开队列,即先进先出 First In First Out (FIFO),因此队列就是先进先出线性表。
(3)线性表分为顺序表和链表,所以队列也分为顺序队列和链式队列,为了方便演示,下文所使用的队列都是顺序队列。
2、队列的存储结构
用java语言自己封装一个顺序队列:
SeqQueue.java
/** * 封装一个顺序队列 */ public class SeqQueue { // 保存数据 public Object[] data; // 头指针 public int head; // 尾指针 public int rear; // 队列的最大容量 public int maxSize; public SeqQueue(int maxSize) { this.maxSize = maxSize; data = new Object[maxSize]; } }