C# 通过队列储存10个元素
时间: 2023-08-10 19:26:47 浏览: 149
好的,您可以使用 C# 中的 Queue 类来实现队列数据结构。以下是一个示例程序,可以使用该程序来储存10个元素:
```csharp
using System;
using System.Collections;
class Program
{
static void Main(string[] args)
{
Queue queue = new Queue();
for (int i = 0; i < 10; i++)
{
// 将元素添加到队列中
queue.Enqueue(i);
}
// 从队列中取出元素并打印出来
while (queue.Count > 0)
{
Console.WriteLine(queue.Dequeue());
}
Console.ReadLine();
}
}
```
这个程序使用 for 循环将 0 到 9 的整数添加到队列中。然后使用 while 循环从队列中取出元素并打印出来,直到队列为空。
相关问题
c# 查看queue第几个元素
要查看 Queue 中第几个元素,需要使用 Peek 方法。Peek 方法返回 Queue 中位于指定位置处的对象,而不将其从 Queue 中移除。
以下是示例代码:
```csharp
Queue<int> myQueue = new Queue<int>();
myQueue.Enqueue(1);
myQueue.Enqueue(2);
myQueue.Enqueue(3);
myQueue.Enqueue(4);
int element = myQueue.ElementAt(2); // 获取第三个元素
Console.WriteLine(element); // 输出: 3
int peekedElement = myQueue.Peek(); // 获取队列头部的元素
Console.WriteLine(peekedElement); // 输出: 1
```
在上面的示例代码中,我们首先将四个整数添加到 Queue 中。然后使用 ElementAt 方法获取第三个元素(即 Queue 中的第三个元素),并将结果存储在变量 element 中。最后,使用 Peek 方法获取队列头部的元素,并将结果存储在变量 peekedElement 中。
C#中如何在队列中每次有元素出队时,将其添加到一个集合(如HashSet)中。在检查元素是否可以出队之前,先检查该元素是否已经在集合中。如果已经在集合中,则不允许再次出队。
在C#中,你可以使用`Queue<T>`来管理待出队的元素,同时使用`HashSet<T>`来跟踪已经出队且添加到集合中的元素。以下是一个示例代码,展示如何在每次元素出队前检查是否已经存在于集合中:
```csharp
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
Queue<int> queue = new Queue<int>(new int[] {1, 2, 3, 4, 5});
HashSet<int> processedElements = new HashSet<int>();
while (queue.Count > 0)
{
int element = queue.Peek(); // 查看队列前面的元素
if (processedElements.Contains(element))
{
Console.WriteLine("元素 " + element + " 已经在集合中,不允许再次出队。");
queue.Dequeue(); // 移除队列前面的元素,而不进行处理
continue;
}
// 移除并处理队列前面的元素
processedElements.Add(queue.Dequeue());
Console.WriteLine("出队并添加到集合中: " + element);
}
}
}
```
在这个代码中,我们首先创建了一个`Queue<int>`来存储待处理的元素,并创建了一个`HashSet<int>`来存储已经出队且添加到集合中的元素。在循环中,我们使用`Peek`方法来查看队列前面的元素而不移除它,然后检查这个元素是否已经在`HashSet<int>`中。如果已经在集合中,则输出一条消息并继续下一次循环;如果不在集合中,则从队列中移除该元素,并将其添加到`HashSet<int>`中。
阅读全文