小学生学C++编程语法知识(STL容器(4、认识Queue(队列)))
STL课程第四课《排队王国——认识Queue队列》本课目标理解什么是队列Queue。掌握队列先进先出FIFO的特点。熟练使用push()、pop()、front()、back()、empty()、size()。能用 Queue 解决简单的排队问题。为后面学习BFS广度优先搜索打下基础。第一幕 排队买冰淇淋炎热的夏天。程序王国举行了冰淇淋节。冰淇淋店门口来了许多小朋友。他们按照顺序排好了队。队首 队尾 小明 → 小红 → 小刚 → 小美请问如果冰淇淋做好了。应该给谁学生都会回答当然是小明因为他最早排队。请问小明拿到冰淇淋以后。队伍变成什么样 小红 → 小刚 → 小美又做好一个。应该给谁当然小红。总结谁先来谁先服务。这就是队列Queue第二幕 什么叫先进先出先进先出英文叫FIFOFirst In First Out意思就是先进去的人。先出来。例如排队买票。排队打饭。排队坐公交。都是先进先出。一句口诀先来的先走后来的后走。第三幕 Queue长什么样今天。我们请出Queue。首先#includeiostream #includequeue using namespace std;Queue不是数组。也不是Vector。它只能两头操作。画图队首 队尾 ↑ ↑ front back第四幕 创建队列创建一个整数队列。queueint q;解释queue表示队列。int里面放整数。q变量名字。第五幕 新同学来排队——push()现在。来了一个同学。编号1q.push(1);队伍1又来了2q.push(2);队伍1 2继续。q.push(3);队伍1 2 3push永远从队尾进入。第六幕 发冰淇淋——pop()现在。开始发冰淇淋。q.pop();谁离开当然1队伍变成2 3pop永远删除队首。第七幕 看看谁排第一现在。谁站在最前面直接问q.front()例如coutq.front();输出2front。就是队首。第八幕 看看最后一个是谁队伍最后是谁q.back()例如coutq.back();输出3第九幕 队伍还有多少人请问现在还有几个人q.size()例如coutq.size();输出2第十幕 队伍空了吗如果所有人都走了。怎么办直接问q.empty()例如if(q.empty()) { cout没人排队; } else { cout还有人; }第十一幕 Queue不能这样做请问Vector可以a[3]Queue呢很多孩子会写q[3]❌错误为什么因为。排队的时候。你不能直接跑到队伍中间。把第三个人拉出来。Queue只能看到队首。和队尾。所以没有q[0] q[1]这种写法。第十二幕 Queue也不能遍历老师继续问。Vector可以for(int x:a)Queue可以吗答案不能。为什么因为。Queue不允许随便查看中间的人。只能不断出队。例如while(!q.empty()) { coutq.front() ; q.pop(); }输出1 2 3最后。队列也空了。第十三幕 演示程序#includeiostream #includequeue using namespace std; int main() { queueint q; q.push(10); q.push(20); q.push(30); cout队首q.front()endl; cout队尾q.back()endl; cout人数q.size()endl; q.pop(); cout新的队首q.front()endl; return 0; }输出队首10 队尾30 人数3 新的队首20第十四幕 课堂演示依次执行q.push(5); q.push(8); q.push(2); q.pop(); q.push(9);问队伍是什么同学们画图开始空↓5↓5 8↓5 8 2↓8 2↓8 2 9最后。队首8队尾9第十五幕 课堂实践实践一打印排队顺序输入5 10 20 30 40 50表示5个人排队。要求按排队顺序输出。参考程序#includeiostream #includequeue using namespace std; int main() { queueint q; int n; cinn; for(int i0;in;i) { int x; cinx; q.push(x); } cout出队顺序endl; while(!q.empty()) { coutq.front() ; q.pop(); } return 0; }输出10 20 30 40 50第十六幕 课堂实践二——医院叫号系统医院来了很多病人。输入病人编号。按照叫号顺序输出。孩子会发现Queue特别适合排队问题。第十七幕 Queue真正的大本领老师告诉学生。今天。我们只是认识Queue。真正厉害的地方。在以后。同学们学习BFS广度优先搜索例如迷宫。最短路。机器人找出口。树的层次遍历。全部都要用Queue。所以。今天一定要学扎实。本课总结今天我们认识了 STL 中的Queue队列。它最大的特点就是先进先出FIFOFirst In First Out。掌握了六个最常用的成员函数成员函数作用生活中的理解push(x)从队尾加入元素新同学排到队伍最后pop()删除队首元素最前面的同学离开front()查看队首元素看第一个排队的人back()查看队尾元素看最后一个排队的人size()队列中的元素个数数一数队伍里有几个人empty()判断队列是否为空看看还有没有人在排队Queue 与 Vector 对比VectorQueue可以随机访问❌ 不可以可以a[3]❌ 不支持可以排序❌ 不支持排序可以遍历❌ 不能直接遍历可以中间插入❌ 不可以尾部增加最快队尾加入、队首删除最快最后强调Queue 不是功能少而是专门解决排队问题。它牺牲了随机访问和排序能力换来了严格的先进先出顺序。也正因为如此它才成为BFS广度优先搜索和各种排队模拟题中不可替代的工具。

相关新闻

番茄小说下载器:永久保存网络小说,打造个人数字图书馆

番茄小说下载器:永久保存网络小说,打造个人数字图书馆

番茄小说下载器:永久保存网络小说,打造个人数字图书馆 【免费下载链接】fanqienovel-downloader 下载番茄小说 项目地址: https://gitcode.com/gh_mirrors/fa/fanqienovel-downloader 在数字阅读时代,你是否担心喜爱的小说突然下架&am…

2026/7/19 16:49:32阅读更多 →
ClickHouse 集群扩容实战:数据重分布过程中的查询可用性保障

ClickHouse 集群扩容实战:数据重分布过程中的查询可用性保障

ClickHouse 集群扩容实战:数据重分布过程中的查询可用性保障 ClickHouse 集群扩容是件让人头疼的事——加节点容易,但新节点上来之后数据要重分布(resharding),这个过程可能持续数小时甚至数天。期间如果查询打到还没迁…

2026/7/19 16:47:28阅读更多 →
英雄联盟玩家的终极效率工具:3大核心技术革新你的游戏体验 [特殊字符]

英雄联盟玩家的终极效率工具:3大核心技术革新你的游戏体验 [特殊字符]

英雄联盟玩家的终极效率工具:3大核心技术革新你的游戏体验 🚀 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit LeagueAk…

2026/7/19 16:47:28阅读更多 →
ngx_output_chain_get_buf

ngx_output_chain_get_buf

1 定义 ngx_output_chain_get_buf 函数 定义在 src/core/ngx_output_chain.cstatic ngx_int_t ngx_output_chain_get_buf(ngx_output_chain_ctx_t *ctx, off_t bsize) {size_t size;ngx_buf_t *b, *in;ngx_uint_t recycled;in ctx->in->buf;size ctx->buf…

2026/7/20 0:15:05阅读更多 →
互联网大厂常见Java面试题及答案汇总(2026持续更新)

互联网大厂常见Java面试题及答案汇总(2026持续更新)

金九银十即将来袭,又是一个跳槽的好季节,准备跳槽的同学都摩拳擦掌准备大面好几场,今天为大家准备了互联网面试必备的 1 到 5 年 Java 面试者都需要掌握的面试题,分别 JVM,并发编程,MySQL,Tomca…

2026/7/20 0:15:05阅读更多 →
python数据可视化技巧的100个练习 -- 31. 类别数据的点图

python数据可视化技巧的100个练习 -- 31. 类别数据的点图

重要性★★★☆☆ 难度★★☆☆☆ 你是一家零售公司的数据分析师。你的经理要求你可视化最近产品发布的客户满意度评级分布。评级是分类的,范围从“非常不满意”到“非常满意”。创建一个点图以显示每个评级类别的频率。使用 Python 进行数据处理和可视化。在代码中生成输入…

2026/7/20 0:13:05阅读更多 →
智能体走进物理世界,千里科技携舱驾协同成果亮相WAIC 2026

智能体走进物理世界,千里科技携舱驾协同成果亮相WAIC 2026

在2026世界人工智能大会(WAIC 2026)举办期间,千里科技董事长、阶跃星辰董事长印奇作为特邀嘉宾出席大会开幕式并在大会主论坛(上午场)发表主题演讲《当智能体进入物理世界》。在印奇看来,"智能体"…

2026/7/20 0:13:05阅读更多 →
商汤大装置发布“技术-生态-商业”闭环布局,共启“国产AI基础设施规模化商用元年”

商汤大装置发布“技术-生态-商业”闭环布局,共启“国产AI基础设施规模化商用元年”

7月18日,在WAIC 2026商汤科技 “基座大模型架构创新与生态合作论坛”上,商汤科技联合创始人、大装置事业群总裁杨帆发表《智变共生——加速AI基础设施持续升级》主题演讲,系统呈现了商汤大装置国产AI基础设施“技术-生态-商业”闭环布局&…

2026/7/20 0:13:05阅读更多 →
2026郑州美发学校避坑指南:拆解5种教学方式,谁在“流水线”谁在“真传技”?

2026郑州美发学校避坑指南:拆解5种教学方式,谁在“流水线”谁在“真传技”?

2026年想在郑州学美发,很多零基础学员最先搜索的问题就是:郑州美发学校哪家好?这个问题没有一个只看学校名字就能得出的答案。因为不同学校的课程方向、学习周期、教学方式和适合人群并不一样。有的更适合零基础,有的偏向发型师进修,还有的只做某一项短期技术培训。对于完全没…

2026/7/20 0:11:05阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/20 0:50:54阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/20 0:50:54阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/20 0:50:54阅读更多 →
2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

7月18日智东西消息,在2026 WAIC期间,努比亚联合字节豆包打造的二代“豆包手机”努比亚NaviX Ultra首次亮相,相比一代有诸多升级。智能体手机理念中兴通讯终端事业部总裁、努比亚总裁倪飞表示,智能体手机要从人操作手机变为手机帮人…

2026/7/20 0:01:04阅读更多 →
努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra:外观与功能双升级在2026 WAIC期间,首次亮相的努比亚NaviX Ultra吸引了众多目光。它是努比亚联合字节豆包打造的二代“豆包手机”,与一代努比亚M153相比,外观设计变化较大。其机身背部搭载横向排布的大尺寸影像模…

2026/7/20 0:01:04阅读更多 →
C# 将逗号分割的字符串转换为long,并添加到List<long>

C# 将逗号分割的字符串转换为long,并添加到List<long>

目录 方法1:使用Split和Convert.ToInt64 方法2:使用LINQ的Select和ToList 方法3:使用TryParse进行异常安全转换(推荐) 如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天…

2026/7/20 0:01:04阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/19 22:50:49阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/19 14:50:26阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/19 18:50:36阅读更多 →