第18课:单元实战:排队叫号
进度 0/24
🔔
单元实战:排队叫号
取号叫号一条龙,队列实战见真章!
📖知识引入
🎟️需求分析
顾客取号入队,窗口叫号出队,还要统计等待人数
📥取号即入队
号码自动累加,新顾客push到队尾,公平有序
📤叫号即出队
front()读出队头号码办理业务,pop()让其离队
📊实时统计
q.size()随时报告等待人数,队长就是业务热度
💡
叫号前先判q.empty():没人排队还硬叫号,程序会当场罢工
🔍排队叫号模拟
queue<int> q;
int nextNo = 1;
// 三位顾客取号
q.push(nextNo++);
q.push(nextNo++);
q.push(nextNo++);
// 队列: 1 2 3
// 窗口叫号办理
if (!q.empty()) {
cout << "请" << q.front() << "号到窗口" << endl; // 1号
q.pop();
}
cout << "当前等待:" << q.size() << "人" << endl; // 2人
cout << "下一位:" << q.front() << "号" << endl; // 2号取号入队、叫号出队,队列把公平二字写进代码
🎯小测验
第1题:顾客取号对应队列的什么操作?
第2题:叫号前先判断 q.empty() 是为了?
第3题:q.size()在叫号系统里表示?
📝本课知识点
- ✓取号入队、叫号出队
- ✓操作前判空是铁律
- ✓size()实时掌握排队人数
第18课完成!继续探索下一课吧 🚀
