6.5 queue的常见用法详解
队列实现了一个先进先出的容器
1. queue的定义
要使用queue,应添加头文件#include
queue <typename> name;
2. queue容器内元素的访问
队列本身就是一种先进先出的限制性数据结构,在STL中只能通过font()来访问队首元素,或是通过back()来访问队尾元素
#include <bits/stdc++.h>
#include <queue>
using namespace std;
int main(){
queue<int> q;
for(int i = 0; i < 5; i++){
q.push(i);
}
cout<<q.front()<<' '<<q.back();
return 0;
}
输出结果:
0 4
3. queue常用函数实例解析
(1). push(x) 将x进行入队
(2). front()、back() 可以分别获得队首元素和队尾元素
(3). pop() 令队首元素出队
(4). empty() 检测queue是否为空,返回true则空,返回false则非空
(5). size() 返回queue内元素的个数
使用front()和pop()函数前,必须用empty()判断队列是否为空
4. queue的常见用途
当需要实现广度优先搜索时,可以不用自己手动实现一个队列
6.6 priority_queue的常见用法详解
在优先队列中,队首元素一定是当前队列中优先级最高的那一个。优先队列底层的数据结构堆会随时调整结构,使得每次的队首元素都是优先级最大的
1. priorty_queue的定义
要使用优先队列,应先添加头文件#include
priority_queue <typename> name;
2. priorty_queue容器内元素的访问
和队列不一样的是,优先队列没有font()函数与back()函数,而只能通过top()函数来