栈
栈 (stack) 是限定仅在表尾进行插入或删除操作的线性表。 因此, 对栈来说, 表尾端有其特殊含义, 称为栈顶 (top), 相应地, 表头端称为栈底 (bottom)。栈的修改是按**后进先出 (Last In First Out, LIFO)**的原则进行的。
栈有顺序表实现和链表实现两种方式。
队列
和栈相反,队列(queue)是一种先进先出(First In First Out, FIFO)的线性表。它只允许在表的一端进行插入,而在另一端删除元素。这排队是一致的。
在队列中,允许插入的一端称为队尾(rear), 允许 删除的一端则称为队头(front)。
同样,队列也有顺序表实现和链表实现两种方式。