🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# :-: **队列(Queue)** ## **什么是队列** * 像栈一样,队列(queue)也是一种线性表,它的特性是先进先出,插入在一端,删除在另一端。就像排队一样,刚来的人入队(push)要排在队尾(rear),每次出队(pop)的都是队首(front)的人。如图1,描述了一个队列模型。 * 队列(Queue)与栈一样,是一种线性存储结构,它具有如下特点: 1. 队列中的数据元素遵循“先进先出”(First In First Out)的原则,简称FIFO结构。 2. 在队尾添加元素,在队头删除元素。 ![](https://box.kancloud.cn/c6d01c561cc9720b400da79df11da825_759x634.png) ## **队列的定义** 队列也有自己的头文件 `#include <queue>` queue<数据类型> + 队列名称 `queue <int> que;` ## **队列的操作** 队列通常提供的操作: 入队 que.push() 出队 que.pop() 求队列中元素个数 que.size() 判断队列是否为空 que.empty() 获取队首元素 que.front() 队列清空 ``` while(!que.empty()) que.pop(); ```