c#中 Queue队列类 理解

本文详细介绍了C#中System.Collections.Queue类的用法,包括队列的基本操作如入队(Enqueue)、出队(Dequeue)及查看队首元素(Peek),并通过示例代码展示了如何使用Queue类实现先进先出(FIFO)的数据处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Queue定义 : System.Collections.Queue类表示对象的先进先出集合,存储在 Queue(队列) 中的对象在一端插入,从另一端移除。

          能对集合进行顺序处理(先进先出)。能接受null值,并且允许重复的元素。

 

构造函数: queue():   初始化 Queue 类的新实例,该实例为空,具有默认初始容量(32)并使用默认增长因子(2.0)。

方法: Dequeue()  : 将对象添加到 Queue 的结尾处。

 

示例:

 

class Program 
{ 
    static void Main(string[] args) 
    { 
        //创建一个队列 
        Queue myQ = new Queue(); 
        myQ.Enqueue("The");//入队 
        myQ.Enqueue("quick"); 
        myQ.Enqueue("brown"); 
        myQ.Enqueue("fox"); 
        myQ.Enqueue(null);//添加null 
        myQ.Enqueue("fox");//添加重复的元素 
 
        // 打印队列的数量和值 
        Console.WriteLine("myQ"); 
        Console.WriteLine("\tCount:    {0}", myQ.Count); 
 
        // 打印队列中的所有值 
        Console.Write("Queue values:"); 
        PrintValues(myQ); 
 
        // 打印队列中的第一个元素,并移除 
        Console.WriteLine("(Dequeue)\t{0}", myQ.Dequeue()); 
 
        // 打印队列中的所有值 
        Console.Write("Queue values:"); 
        PrintValues(myQ); 
 
        // 打印队列中的第一个元素,并移除 
        Console.WriteLine("(Dequeue)\t{0}", myQ.Dequeue()); 
 
        // 打印队列中的所有值 
        Console.Write("Queue values:"); 
        PrintValues(myQ); 
 
        // 打印队列中的第一个元素 
        Console.WriteLine("(Peek)   \t{0}", myQ.Peek()); 
 
        // 打印队列中的所有值 
        Console.Write("Queue values:"); 
        PrintValues(myQ); 
 
        Console.ReadLine(); 
 
    } 
 
    public static void PrintValues(IEnumerable myCollection) 
    { 
        foreach (Object obj in myCollection) 
            Console.Write("    {0}", obj); 
        Console.WriteLine(); 
    } 
}


 

 

 

 
 
 
 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值