C# Queue 示例:什么是 C# Queue 以及如何使用?
C# 中的 Queue 是什么?
Queue 是一种特殊的集合,它代表了“先进先出”的概念。想象一下人们排队等公交车。通常,第一个排队的人会第一个上公交车。同样,最后一个排队的人也会是最后一个上公交车的人。元素被一个接一个地添加到队列中。
向队列添加元素的 عملية 称为入队(enqueuer)。要从队列中删除元素,您可以使用出队(dequeuer)操作。C# 中 Queue 的操作与我们之前看到的 Stack 类似。
让我们更详细地了解如何在 C# 中使用 Queue 以及 C# 中 Queue 集合可用的操作。
Queue 的声明
Queue 的声明如下所示。Queue 是通过 Queue 数据类型创建的。“new”关键字用于创建 Queue 对象。然后将该对象赋给变量 qt。
Queue qt = new Queue()
向 Queue 添加元素
enqueue 方法用于将元素添加到队列。该语句的一般语法如下。
Queue.enqueue(element)
从 Queue 中移除元素
dequeue 方法用于从队列中删除元素。dequeue 操作将返回队列的第一个元素。该语句的一般语法如下。
Queue.dequeue()
Count (计数)
此属性用于获取队列中的项目数。以下是此语句的一般语法。
Queue.Count
包含
此方法用于检查 Queue 中是否存在某个元素。以下是此语句的一般语法。如果元素存在,该语句将返回 true,否则返回 false。
Queue.Contains(element)
现在,让我们在代码级别看看它是如何工作的。以下所有代码都将被写入我们的控制台应用程序。
代码将被写入我们的 Program.cs 文件。在下面的程序中,我们将编写代码来查看如何使用上面提到的方法。
示例
在此 C# Queue 示例中,我们将看到如何创建队列。接下来,我们将看到如何显示队列的元素,并使用 Count 和 Contains 方法。
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Queue qt = new Queue(); qt.Enqueue(1); qt.Enqueue(2); qt.Enqueue(3); foreach (Object obj in qt) { Console.WriteLine(obj); } Console.WriteLine(); Console.WriteLine(); Console.WriteLine("The number of elements in the Queue " + qt.Count); Console.WriteLine("Does the Queue contain " + qt.Contains(3)); Console.ReadKey(); } } }
代码解释
- 第一步是声明 Queue。在这里,我们将 qt 声明为一个变量来保存我们 Queue 的元素。
- 接下来,我们向 Queue 添加 3 个元素。每个元素都通过“enqueue”方法添加。
- 现在,关于 Queue 需要注意的一点是,元素不能像 arrayList 那样通过索引位置访问。我们需要使用不同的方法来显示 Queue 的元素。所以,我们这样显示队列的元素。
- 我们首先声明一个名为 obj 的临时变量。它将用于保存 Queue 的每个元素。
- 然后,我们使用 foreach 语句遍历 Queue 的每个元素。
- 对于每个 Queue 元素,值都会赋给 obj 变量。
- 然后,我们使用 Console.Writeline 命令将值显示到控制台。
- 我们使用“Count”属性来获取 Queue 中的项目数。此属性将返回一个数字。然后我们将该值显示到控制台。
- 然后,我们使用“Contains”方法来查看值 3 是否存在于我们的 Queue 中。这将返回 true 或 false 值。然后我们将返回的值显示到控制台。
如果上述代码输入正确并运行程序,将显示以下输出。
输出
从输出中,我们可以清楚地看到 Queue 的元素被显示出来了。请注意,与“stack”不同,“queue”中第一个入队的元素会先显示。输出中也显示了队列元素的计数。此外,还显示了 True 值,表明值 3 已在队列中定义。
C# Queue Dequeue
现在让我们看看移除功能。我们将看到移除队列中最后一个元素所需的代码。
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Queue qt = new Queue(); qt.Enqueue(1); qt.Enqueue(2); qt.Enqueue(3); qt.Dequeue(); foreach (Object obj in qt) { Console.WriteLine(obj); } Console.ReadKey(); } } }
代码解释
- 在这里,我们只需调用“dequeue”方法,该方法用于从队列中删除元素。此方法将删除队列的第一个元素。
如果上述代码输入正确并运行程序,将显示以下输出。
输出
从输出中,我们可以看到添加到队列的第一个元素,即元素 1,已从队列中删除。
摘要
Queue 基于“先进先出”的概念。添加元素的 عملية 称为入队。从队列中移除元素的 عملية 称为出队。