Queue<T>

就是 C# 里的"排队叫号机"。
想象你去银行办事:先来的人先办,后来的人排在后面,不能插队。
Queue 就是这个规矩:先进先出(FIFO)。

————————————————————————————————————————————————————————————————————————————

方法 作用 生活类比
Enqueue() 加入队列末尾 取号排队
Dequeue() 取出队首并移除 窗口叫号办理
Peek() 只看队首是谁 偷瞄一眼下一个轮到谁
Count 还有几个人排队 排队人数

————————————————————————————————————————————————————————————————————————————

案例 1:银行排队叫号
csharp
using System.Collections.Generic;

Queue queue = new Queue();
queue.Enqueue("张三");
queue.Enqueue("李四");
queue.Enqueue("王五");

while (queue.Count > 0)
{
Console.WriteLine(queue.Dequeue() + " 办理完毕");
}
// 输出顺序:张三 → 李四 → 王五
先 Enqueue(取号),再 Dequeue(叫号),保证谁先排谁先办。

————————————————————————————————————————————————————————————————————————————

案例 2:打印任务队列
csharp
Queue printQueue = new Queue();
printQueue.Enqueue("简历.pdf");
printQueue.Enqueue("合同.docx");
printQueue.Enqueue("照片.jpg");

Console.WriteLine("正在打印:" + printQueue.Dequeue());
Console.WriteLine("还剩 " + printQueue.Count + " 个任务在排队");
就像打印机任务列表,先发送的文档先打印,后来的只能等着。

————————————————————————————————————————————————————————————————————————————

案例 3:偷看队首(不移除)
csharp
Queue numbers = new Queue();
numbers.Enqueue(10);
numbers.Enqueue(20);
numbers.Enqueue(30);

Console.WriteLine("队首是:" + numbers.Peek()); // 10
numbers.Dequeue();
Console.WriteLine("现在队首是:" + numbers.Peek()); // 20
Peek() 只是看一眼队首是谁,不会把他从队列里移除,适合先确认再处理。

posted @ 2026-08-03 22:58  菜鸟的奋斗军  阅读(3)  评论(0)    收藏  举报