🐵指尖猴全新升级
第16课:队列的概念
🎫

队列的概念

先来先服务,公平排队就靠它!

📖知识引入

🚶FIFO原则
先进先出:先排队的人先被服务,队列是最讲公平的结构
⬅️队尾进
push只能在队尾追加,新来的自觉排到后面
➡️队头出
pop只能从队头离开,front()查看队头第一人
💡生活原型
食堂打饭、打印任务、BFS广搜,队列无处不在
💡
queue<int> q; q.push进队尾、q.front看队头、q.pop出队头,注意front和pop是分开两步

🔍STL队列初体验

queue<string> q;
q.push("小明");     // 队列: 小明
q.push("小红");     // 队列: 小明 小红
q.push("小刚");     // 队列: 小明 小红 小刚

cout << q.front() << endl;  // 队头:小明
cout << q.back() << endl;   // 队尾:小刚

q.pop();            // 小明出队
cout << q.front() << endl;  // 现在队头:小红

小明最先来也最先走,先进先出一目了然

🎯小测验

第1题:队列的操作原则是什么?

第2题:queue中查看队头元素(不出队)用?

第3题:队列与栈最根本的区别是?

📝本课知识点

  • ✓队列=先进先出FIFO
  • ✓队尾push、队头pop
  • ✓排队、打印、BFS都是队列主场
第16课完成!继续探索下一课吧 🚀