简介
- 队列 (queue) 是一种先进先出 (FIFO,First Input First Output) 的数据类型
- 只能在队列的末尾添加新元素,只能从队列头部移除元素。
- 不可以遍历队列中元素
- 常用在 BFS (广度优先搜索) 中
C++ 中队列的使用
头文件 #include <queue>
需要使用 std 命名空间 using namespace std;
说明 | 方法 | 备注 |
---|---|---|
初始化 (定义) 队列 | queue<int> q; |
int 可用其他数据类型替换 |
入队 | q.push(x) |
将元素添加到队尾 |
出队 | q.pop() |
移除队首元素 |
返回队首元素 | q.front() |
不会删除队首元素 |
获取队尾元素 | q.back() |
不会删除队尾元素 |
判断队列是否为空 | q.empty(); |
为空返回 1 |
获取队列大小 | q.size() |
返回队列中元素个数 |
Code
简单举个栗子 ( •̀ ω •́ )✧
#include <iostream>
#include <queue>
using namespace std;
int main()
{
queue<int> q;
q.push(3); //入队
q.push(6);
cout<<q.front()<<endl; //队首元素
cout<<q.back()<<endl; //队尾元素
cout<<q.size()<<endl; //队列中元素个数
cout<<q.empty()<<endl; //队列是否为空
q.pop(); //出队
q.pop();
cout<<q.empty()<<endl; //队列是否为空
return 0;
}