本文共 1090 字,大约阅读时间需要 3 分钟。
进行队问题的一些学习:
使用queue之前,要先利用构造函数一个队列对象,才可以进行元素的入队,出队,取队首和队尾等操作;
(1). queue()queue<int> q; 或者queue<int>Q[10000];
(2). queue(const queue&) 复制构造函数 例如:用一行代码利用queue对象q1,创建一个以双向链表为底层容器的 queue对象q2queue<int,list<int>>q1;queue<int,list<int>>q2(q1);
(3). 元素入队 函数为:push()例如:q.push(3),意思是将3入队 ,注意队列的大小不预设
(4). 元素出队 函数为:pop()例如:q.pop()
(5). 取对头元素 函数为:front()
(6),取队尾元素 函数为:back()
(7). 判断对空 函数为:empty()
(8). 队列的大小 函数为:size()返回队列的当前元素的个数9.如何实现固定大小的queue队列 在每一次元素入队列前 都判断当前的队列是否满,用双向链表做queue 的底层容器可以实现例如:
1. #include<iostream>
2. #include<list>
3. #include<queue>
4. using namespace std;
5. #define QUEUE_SIZE 50 //固定大小为50
6. int main()
7. {
8. queue<int,list<int>> q;
9. if(q.size<QUEUE_SIZE)q.push(51);
10. if(q.size<QUEUE_SIZE)q.push(36);
11. if(q.size<QUEUE_SIZE)q.push(28);
12. while(!q.empty())
13. {
14. cout<<q.front()<<endl; //打印5136 28q.pop();
15. //出队}return 0;
16. }
转载地址:https://blog.csdn.net/xiaochen87654321/article/details/51170983 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!