经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C++ » 查看文章
STL_queue容器
来源:cnblogs  作者:东南亚季风  时间:2021/2/1 12:03:45  对本文有异议

一、queue简介

queue所有元素的进出都必须符合”先进先出”的条件,只有queue的顶端元素,才有机会被外界取用。queue不提供遍历功能,也不提供迭代器。

queue是简单地装饰deque容器而成为另外的一种容器。

#include <queue>

二、queue对象的默认构造

queue采用模板类实现,queue对象的默认构造形式:queue<T> queT;

  1. queue<int> queInt; //一个存放int的queue容器。
  2. queue<float> queFloat; //一个存放float的queue容器。
  3. queue<string> queString; //一个存放string的queue容器。
  4. //尖括号内还可以设置指针类型或自定义类型。

三、queue的push()与pop()方法

queue.push(elem); //往队尾添加元素

queue.pop(); //从队头移除第一个元素

  1. queue<int> queInt;
  2. queInt.push(1);
  3. queInt.push(3);
  4. queInt.push(5);
  5. queInt.push(7);
  6. queInt.push(9);
  7. queInt.pop();
  8. queInt.pop();
  9. //此时queInt存放的元素是5,7,9

四、queue对象的拷贝构造与赋值

queue(const queue &que); //拷贝构造函数

queue& operator=(const queue &que); //重载等号操作符

  1. queue<int> queIntA;
  2. queIntA.push(1);
  3. queIntA.push(3);
  4. queue<int> queIntB(queIntA); //拷贝构造
  5. queue<int> queIntC;
  6. queIntC = queIntA; //赋值

五、queue的数据存取

queue.back(); //返回最后一个元素

queue.front(); //返回第一个元素

  1. queue<int> queIntA;
  2. queIntA.push(1);
  3. queIntA.push(3);
  4. queIntA.push(5);
  5. queIntA.push(7);
  6. queIntA.push(9);
  7. int iFront = queIntA.front(); //1
  8. int iBack = queIntA.back(); //9

六、queue的大小

queue.empty(); //判断队列是否为空

queue.size(); //返回队列的大小

  1. queue<int> queIntA;
  2. queIntA.push(1);
  3. queIntA.push(3);
  4. queIntA.push(5);
  5. queIntA.push(7);
  6. queIntA.push(9);
  7. if (!queIntA.empty()){
  8. int iSize = queIntA.size(); //5
  9. }

原文链接:http://www.cnblogs.com/gqw-myblogs/p/14326470.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号