栈和队列 Stack and Queue


栈(Stack):

栈也是一种特殊的线性表,是一种后进先出(LIFO)的结构。

栈是限定仅在表尾进行插入和删除运算的线性表,表尾称为栈顶(top),表头称为栈底(bottom)。

栈的物理存储可以使用顺序存储结构,也可以使用链式存储结构。


队列(Queue):

队列是限定所有的插入只能在表的一端进行,而所有的删除都在表的另一端进行的线性表。

表中允许插入的一端称为队尾(Rear),允许删除的一端称为队头(Front)。

队列的操作是按先进先出(FIFO)的原则进行的。

队列的物理存储结构可以用顺序存储结构,也可以用链式存储结构。


无论是栈还是队列,里面都会维护一个成员变量,该成员变量用于存储栈或队列中的元素。该成员变量一般使用LinkedList实现,而栈或队列的方法都是基于LinkedList的方法来实现的。