# 队列
队列是一种『先进先出』的线性表,一般可以用链表和数组来实现,只允许在尾部插入,在头部删除。
代码位于:https://github.com/HurleyJames/DataStructure/tree/master/Queue
# 栈和队列的区别
栈和队列都是两种操作受限的线性表。
栈是限制在表的一端进行插入和删除运算的线性表,是「先进后出」的;队列是一种运算受限的线性表,只允许在标的一端进行插入,而在另一端进行删除,是『先进先出』的。
相同点:
- 都是线性结构的
- 插入操作都是限定在表尾进行
- 都可以通过顺序结构和链式结构实现
- 插入和删除的复杂度都是,空间复杂度也一样
- 多链栈和多链队列的管理模式相同
不同点:
- 删除数据元素的位置不同:栈的删除操作在表尾进行,队列的删除操作在表头进行
- 顺序栈能够实现多栈的空间共享,而顺序队列不能