一、理论知识
队列(Queue),它是一种运算受限的线性表,先进先出(FIFO First In First Out)
- 队列是一种受限的线性结构
- 受限之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作生活中类似的队列结构
- 生活中类似队列的场景就是非常多了, 比如在电影院, 商场, 甚至是厕所排队.
- 优先排队的人, 优先处理. (买票, 结账, WC)
队列有哪些常见的操作呢?
enqueue(element):向队列尾部添加一个(或多个)新的项。
dequeue():移除队列的第一(即排在队列最前面的)项,并返回被移除的元素。
front():返回队列中第一个元素——最先被添加,也将是最先被移除的元素。队列不做任何变动(不移除元素,只返回元素信息——与Stack类的peek方法非常类似)。
isEmpty():如果队列中不包含任何元素,返回true,否则返回false。
size():返回队列包含的元素个数,与数组的length属性类似。