当前位置: 首页 > news >正文

C++ queue容器适配器-队列

queue容器适配器

#include<iostream>#include<queue>/* queue 容器适配器 元素只能从对尾压入,从队首弹出(排队) 底层容器:deque、list queue 本身没有迭代器 */// 使用函数模板template<typenameT>voiddisplay(std::queue<T>s){while(!s.empty())// 不为空 则执行{T elem=s.front();//读取栈顶元素std::cout<<elem<<" ";s.pop();// 弹出栈顶元素}std::cout<<std::endl;};intmain(){std::queue<int>s;for(autoi:{1,2,3,4,5})s.push(i);// 放入栈中display(s);std::cout<<"队首元素:"<<s.front()<<std::endl;std::cout<<"队尾元素:"<<s.back()<<std::endl;s.push(10);display(s);s.pop();s.pop();display(s);// 清空方法while(!s.empty()){s.pop();}std::cout<<"元素总数:"<<s.size()<<std::endl;s.push(1);s.push(2);s.push(3);s.push(4);s.push(5);display(s);// 修改s.front()=0;// 首s.back()=0;// 尾display(s);}

队列
函数 功能
push(val) 向队尾插入元素 val
pop() 删除队首元素(无返回值)
front() 返回队首元素的引用(可修改)
back() 返回队尾元素的引用(可修改)
empty() 判断队列是否为空(空返回 true)
size() 返回队列中元素的个数

#include<iostream>// 用于输入输出#include<queue>// 核心头文件:std::queue#include<string>// 示例中用到字符串类型intmain(){// 1. 定义一个存储整数的队列(默认底层用deque实现)std::queue<int>num_queue;// 2. 向队列尾部插入元素(入队)num_queue.push(10);num_queue.push(20);num_queue.push(30);std::cout<<"初始队列:队首="<<num_queue.front()<<",队尾="<<num_queue.back()<<",大小="<<num_queue.size()<<"\n\n";// 3. 访问并修改队首/队尾元素(注意:仅当队列非空时才能访问)if(!num_queue.empty()){num_queue.front()=100;// 修改队首元素(10 → 100)num_queue.back()=300;// 修改队尾元素(30 → 300)std::cout<<"修改后:队首="<<num_queue.front()<<",队尾="<<num_queue.back()<<",大小="<<num_queue.size()<<"\n\n";}// 4. 遍历并弹出队列所有元素(出队)std::cout<<"遍历并弹出队列元素:\n";while(!num_queue.empty()){// 先获取队首元素intfront_val=num_queue.front();std::cout<<"弹出队首:"<<front_val<<"\n";// 弹出队首(必须先获取值,再pop,因为pop无返回值)num_queue.pop();}std::cout<<"弹出后队列是否为空:"<<(num_queue.empty()?"是":"否")<<"\n\n";// 5. 扩展示例:存储自定义类型(比如字符串)std::queue<std::string>str_queue;str_queue.push("苹果");str_queue.push("香蕉");str_queue.push("橙子");std::cout<<"字符串队列 - 队首:"<<str_queue.front()<<",队尾:"<<str_queue.back()<<"\n";return0;}
http://www.cnnetsun.cn/news/1384576.html

相关文章:

  • Vivado用户必看:Notepad--代码对比功能实战(含2.0版本新特性)
  • LeetCode 热题 100 之 33. 搜索旋转排序数组 153. 寻找旋转排序数组中的最小值 4. 寻找两个正序数组的中位数
  • 探秘开源神器:Firefox扩展Bypass Paywalls Clean
  • 【亲测免费】 Engauge Digitizer:科研与数据分析的得力助手
  • Qwen3-32B-Chat效果展示:32B模型在中文诗歌创作与古文仿写中的惊艳表现
  • 1panel 中安装的 OpenClaw 快速接入飞书
  • 如何快速掌握WeChatMsg:从新手到高手的完整微信聊天记录管理指南
  • Jitsi Meet静态资源优化:CDN配置与缓存策略终极指南
  • 从理论到实践:六维力传感器重力补偿算法在机械臂柔顺控制中的应用
  • 从训练到部署:YOLOv8全流程命令行实战指南(含模型导出与性能测试)
  • 利用VS2019打包C#项目生成独立安装包:从开发到部署的完整指南
  • QML FileDialog和FolderDialog详解
  • 电容充电仿真实战:用LTspice XVII验证RC电路的时间常数理论
  • Z-Image-Turbo-辉夜巫女网络配置详解:保障模型API在复杂计算机网络中的稳定访问
  • 手把手教你用Playwright+TestNG搭建H5巡检系统:从数据库驱动到钉钉告警
  • 基于蒙特卡洛的电动车有序充放电研究(Matlab代码实现)
  • CLLC对称双向全桥谐振变换器仿真模型 - 变频控制下的输出电压闭环运行与自动正反向切换
  • uniapp集成支付宝授权登录全流程指南(附iOS/Android适配方案)
  • 无人机+智慧林业巡检数据集 林业树木倒落识别 树木倾倒识别 倒树数据集 树根识别 树根数据集 智慧林业巡检数据集第10577期
  • 从硬件到软件:用示波器抓取分析MCU启动波形的完整教程
  • GitHub_Trending/hac/hacktricks深度剖析:CTF竞赛技巧全解析
  • 复现论文机器学习预测结核病代码
  • AI原生应用中的个性化推荐算法详解
  • web后端----接口文档
  • DLSS Swapper:3倍帧率提升的深度学习超级采样版本管理工具,解放玩家双手的显卡性能优化神器
  • AI 产品岗转技术岗:零基础学习路径与面试避坑指南
  • Cesium生态盘点:超图、火星3D等15个二次开发框架对比
  • SpringBoot3与Kafka深度整合:高效消息生产与消费实践
  • 霜儿-汉服-造相Z-Turbo助力传统文化IP数字化:生成系列化角色与场景
  • kohya_ss训练成本计算:GPU小时费用与优化策略终极指南