概念
队列(queue)是一种线性数据结构,队列中的元素只能先进先出(first in first out,简称FIFO)。
队列的出口端叫作队头(front),队列的入口端叫作队尾(rear)。
存储原理
队列这种数据结构可以用数组来实现,也可以用链表来实现。
用数组实现的队列叫顺序队列,用链表实现的队列叫链式队列。
操作
入队
入队(enqueue)就是把新元素放入队列中,只允许在队尾的位置放入元素,新元素的下一个位置将会称为新的队尾。
出队(dequeue)就是把元素移除队列,只允许在队头一侧移出元素,出队元素的后一个元素将会成为新的队头。
时间复杂度
入队和出队都是O(1)
场景应用举例
资源池、消息队列、命令队列