栈和队列是有操作限制的线性表。
目录1、队列的概念、特点、存储结构。
2、栈队列的java实现。
概念 队列是一种在一端进行插入,而在另一端进行删除的线性表。
1、队列的插入端称为队尾;队列的删除端称为队头。(好比火车进隧道)
2、队列的插入操作称为入队(push),删除操作称为出队(pop)。
队列就像一列进入隧道的火车,隧道就是队列,火车车厢就是元素,进入隧道就是从隧道的这头(队尾)插入元素,出隧道就是从隧道的另一头(队头)删除元素。所以是“先进先出”的特点。
存储结构类似栈有顺序队和链式队两种。
java实现我们可以围绕栈的4个元素来实现队列:
2状态:是否队空;是否队满。
2操作:进队push;出队pop。
顺序队的实现顺序队列的实现也可以使用数组来完成,同栈的实现一样,只是栈是在同一端进行压栈和进栈操作,而队列是在一端做push,另一端做pop操作。
可以看一下下面的队列操作示意图: