队列的分类
根据队列可以容纳的元素个数不同, 可以被分为:
- 静态队列, 或者固定队列: 即队列在初始化时就指定它的容量, 队列中的元素个数不同超过该容量, 否则就出队 (enqueue) 失败
- 动态队列: 即队列中的元素个数不受限制
根据其结构不同, 队列可以分成几种类型:
- 简单队列 simple queue: 从一端入队 (enqueue), 而从另一端出队 (dequeue)
- 双端队列 double-ended queue(deque): 左右两端都可以入队出队
- 限制入队队列 input-restricted queue: 元素可以从两端出队, 但只能从一端入队
- 限制出队队列 output-restricted queue: 元素可以从两端入队, 但只能从一端出队
- 环形队列 circular queue: 又称为环状缓冲区, 整个队列的队首与队尾相连, 元素只从队列的头部出队, 从队列的尾部入队
- 优先级队列 priority queue: 队列中的元素按照某个规则升序或者降序依次排列