queue
翻译为队列,实现了一个先进先出的容器,在使用时需加上 queue 头文件,即 #include <queue>
,并在头文件下加上 “using namespace std;
”。
1. queue 的定义
queue<typename> name ;
2. queue 容器内元素的访问
通过 front() 来访问队首元素,通过 back() 来访问队尾元素
3. queue 常用函数实例解析
(1) front()、back()
//front()、back() 分别获得队首元素和队尾元素
#include <cstdio>
#include <queue>
using namespace std ;
int main () {
queue<int> q ;
for (int i = 1; i <= 5; i++) {
q.push(i) ;
}
printf ("%d %d", q.front(), q.back()) ;
return 0 ;
}
输出:
1 5
(2) push()
for (int i = 1; i <= 5; i++) {
q.push(i) ;
}
(3) pop()
//pop():实现将队首元素出队
#include <cstdio>
#include <queue>
using namespace std ;
int main () {
queue<int> q ;
for (int i = 1; i<=5; i++) {
q.push(i) ;
}
q.pop() ;
printf ("%d\n", q.front()) ;
q.pop() ;
printf ("%d\n", q.front()) ;
return 0 ;
}
输出:
2
3
(4) empty()
//empty():检测是否为空,返回true则为空,返回false则为非空
#include <cstdio>
#include <queue>
using namespace std ;
int main () {
queue<int> q ;
if (q.empty() == true) printf ("Yes, it is empty.\n") ;
q.push(1) ;
if (q.empty() == true) printf ("Yes, it is empty.\n") ;
else printf ("No, it is not empty.\n") ;
return 0 ;
}
输出:
Yes, it is empty.
No, it is not empty.
(5) size()
//size():返回 queue 内元素的个数
#include <cstdio>
#include <queue>
using namespace std ;
int main () {
queue<int> q ;
printf ("%d\n", q.size()) ;
for (int i = 1; i <= 5; i++) {
q.push(i) ;
}
printf ("%d\n", q.size()) ;
return 0 ;
}
输出:
0
5