没有输出的输入是不完整的

0%

queue的简单使用

本文为c++容器系列第八篇.
主要测试了queue相关的方法,主要作为代码备份方便之后遗忘时查询。

准确来讲,queue并不是容器,而是在容器的基础上进行了一定封装的adapter.符合先进先出(FIFO)的特性。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

#include <stdio.h>
#include <queue>
#include <iostream>
using namespace std;

int main(){
// 声明
queue<int> q ;
queue<int> q1({1,2,3,4});
queue<int> q2(q1);

cout<<"q2: ";
while(q2.size() != 0){
cout<<q2.front()<<'\t';
q2.pop();
}
cout<<endl;

// 其他操作。 如果队列为空,那么调用front和back的时候就会报错,
// 所以给我们的警示就是在通过front和back方法获取队列元素的时候,需要提前确定内部是存在对应的元素的。
//cout<<"q.front():"<<q.front()<<endl;
//cout<<"q.back():"<<q.back()<<endl;
cout<<"q.empty():"<<q.empty()<<endl;
cout<<"q.size():"<<q.size()<<endl;


q.push(1);
q.emplace(2);

cout<<"after push q.front():"<<q.front()<<endl;
cout<<"after push q.back():"<<q.back()<<endl;
cout<<"after push q.empty():"<<q.empty()<<endl;
cout<<"after push q.size():"<<q.size()<<endl;


q.pop();
cout<<"after pop(): ";
while(q.size() != 0){
cout<<q.front()<<'\t';
q.pop();
}
return 0;
}

/* 运行结果
q2: 1 2 3 4
q.empty():1
q.size():0
after push q.front():1
after push q.back():2
after push q.empty():0
after push q.size():2
after pop(): 2 Program ended with exit code: 0
*/