第16课:队列的概念
进度 0/24
🎫
队列的概念
先来先服务,公平排队就靠它!
📖知识引入
🚶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课完成!继续探索下一课吧 🚀
