目录
一、涉及到的知识点
1.Queue类
C#中确实提供了队列类Queue。队列是一种先进先出(FIFO)的数据结构,用于存储和操作对象的有序集合。在C#中,可以使用System.Collections.Generic命名空间中的Queue<T>类来实现队列。队列在按接收顺序存储消息方面非常有用,以便于进行顺序处理。Queue类将队列作为循环数组实现,存储在Queue类中的对象在一端插入,从另一端移除。
// 创建一个新的Queue<int>实例
Queue<int> queue = new Queue<int>();
//或
// 创建一个新的Queue<int>实例
Queue<int> myQueue = new();
2.Queue<T>类的方法和属性
Queue<T>类提供了许多方法和属性,用于处理队列中的元素。以下是一些常用的方法:
- Enqueue(T item):将元素添加到队列的末尾。
- Dequeue():从队列的开头移除并返回元素。
- Peek():查看队列开头的元素,但不将其移除。
- Clear():移除队列中的所有元素。
- Contains(T item):检查队列是否包含特定的元素。
- CopyTo(T[] array, int arrayIndex):将队列中的元素复制到一个数组中。
- Count:获取队列中元素的数量。
二、使用C# Queue类的实例
这个实例演示了如何创建一个Queue<int>实例,向其中添加元素,查看元素,从队列中移除元素,再次查看元素,向队列中添加新元素,查看队列开头的元素,清空队列,以及检查队列是否为空。
// 使用C# Queue类的实例
namespace _134_1
{
class Program
{
static void Main(string[] args)
{
ArgumentNullException.ThrowIfNull(args);
// 创建一个新的Queue<int>实例
Queue<int> myQueue = new();
// 向队列中添加一些元素
myQueue.Enqueue(1);
myQueue.Enqueue(2);
myQueue.Enqueue(3);
// 查看队列中的元素
Console.WriteLine("队列中的元素:");
foreach (int element in myQueue)
{
Console.Write(element + " ");
}
// 从队列中移除并返回第一个元素
int dequeuedElement = myQueue.Dequeue();
Console.WriteLine("\n已移除的元素:{0}", dequeuedElement);
// 再次查看队列中的元素
Console.WriteLine("\n队列中的元素(更新后):");
foreach (int element in myQueue)
{
Console.Write(element + " ");
}
// 添加一个新元素到队列
myQueue.Enqueue(4);
// 再次查看队列中的元素
Console.WriteLine("\n队列中的元素(更新后):");
foreach (int element in myQueue)
{
Console.Write(element + " ");
}
// 查看队列开头的元素
Console.WriteLine("\n队列开头的元素:{0}", myQueue.Peek());
// 清空队列
myQueue.Clear();
// 查看队列是否为空
Console.WriteLine("\n队列是否为空:{0}", myQueue.Count == 0);
}
}
}
//运行结果:
/*
队列中的元素:
1 2 3
已移除的元素:1
队列中的元素(更新后):
2 3
队列中的元素(更新后):
2 3 4
队列开头的元素:2
队列是否为空:True
*/