一、队列概念。
队列是限定在一端进行插入,另一端进行删除的特殊线性表。就像排队买东西,排在前面的人买完东西后离开队伍(删除),而后来的人总是排在队伍末尾(插入)。通常把队列的插入和删除分别称为入队和出队。允许出队的一端称为队首,允许入队的一端称为队尾。也就是先进先出,FIFO(First In First Out)。
二、队列的操作。
入队(插入)
入队简单来说就是把队尾往后移一个,在对位的位置插入一个数。
例如我们要插入5,就把队尾往后移一个,插进来:
出队(删除)
出队简单来讲就是把队首往后移一个,删除之前的队首。
例如我们要把1出队(删除),那么出队完就变成了这样,如下表:
再出队3:
三、队列的创建和函数引用。
#include <queue> // 引入头文件 优先队列 priority_queue 也在这个头文件里
queue<int> q; //定义int类型queue并命名为q
//格式:queue<变量类型> 变量名
函数名 | 含义 |
---|---|
q.push(x)
|
将x入队到队尾
|
q.pop()
|
将队首元素出队
|
q.front()
|
返回队首元素
|
q.back()
|
返回队尾元素
|
q.size()
|
返回队列的元素个数
|
q.empty()
|
q是否为空容器,若空则返回true
|
q1.swap(q2)
|
交换q1与q2,等效写法为:swap(q1, q2)
|
q1 = q2
| 将q2的内容赋值给q1 |
作者10岁的小Tyler