本文为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 */