🐵指尖猴全新升级
第18课:单元实战:排队叫号
🔔

单元实战:排队叫号

取号叫号一条龙,队列实战见真章!

📖知识引入

🎟️需求分析
顾客取号入队,窗口叫号出队,还要统计等待人数
📥取号即入队
号码自动累加,新顾客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课完成!继续探索下一课吧 🚀