📜  C#队列(1)

📅  最后修改于: 2023-12-03 15:14:33.053000             🧑  作者: Mango

C#队列

简介

队列是一种FIFO(First-In-First-Out)的数据结构,C#提供了一些内置的队列类供程序员使用。

内置队列类
System.Collections.Queue
Queue myQueue = new Queue();
  • Enqueue(object obj):向队列中添加一个元素,时间复杂度O(1)。
  • Dequeue():从队列中取走一个元素,时间复杂度O(1)。
  • Peek():查看队列头部的元素,但不取走,时间复杂度O(1)。
  • Count:返回当前队列中的元素数量,时间复杂度O(1)。
System.Collections.Generic.Queue
Queue<string> myQueue = new Queue<string>();

与System.Collections.Queue基本相同,但是此队列类是启用泛型。

队列的应用

队列常用于解决先进先出问题,例如在消息队列中,先到达的消息被先处理。

示例代码
class Program
{
    static void Main(string[] args)
    {
        Queue<string> myQueue = new Queue<string>();

        // 添加元素
        myQueue.Enqueue("Hello");
        myQueue.Enqueue("World");
        myQueue.Enqueue("!");

        // 查看队列头部元素
        Console.WriteLine("头部元素:" + myQueue.Peek());

        // 取出元素
        while (myQueue.Count > 0)
        {
            Console.WriteLine("队列头部元素:" + myQueue.Dequeue());
        }
    }
}

输出结果:

头部元素:Hello
队列头部元素:Hello
队列头部元素:World
队列头部元素:!