C#Queue<T>(队列)对数据的操作

C里的队列进行数据操作很方便的,队列根据先进先出的原则(就是第一个存进去的数据,可以第一个拿到),通过队列的属性可以拿到队列里的最小值和最大值,也可以计算数据的SUM,还可以通过某一个数进行排序,等等吧,大家有兴趣可以研究下。下面我就直接写代码展示一些基本的操作。

代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Queue1
{
    class Program
    {
        static void Main(string[] args)
        {
            Queue<string> numQueue = new Queue<string>();//创建队列
            int num = 0;
            for(int i = 0; i < 5; i++)
            {
                numQueue.Enqueue(i.ToString());//Enqueue()是想队列里添加数据
            }
            num = numQueue.Count;//得到队列里的数据的数量
            Console.WriteLine("存进队列的数据");
            foreach(string item in numQueue)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("队列里数据的数量" + num.ToString());
            Console.WriteLine("拿到队列里的最大值" +numQueue.Max<string>());
            Console.WriteLine("拿到队列里的最小值" + numQueue.Min<string>());
            Console.WriteLine("从队列里拿出来的数据"); 
            for(int j= 0; j < num; j++)
            {
               
                Console.WriteLine(numQueue.Dequeue());//Dequeue()返回队列第一个数据并移除,原先队列的第二个数据变为第一个
                //注意numQueue.Peek();是只取出队列的第一个数据,并且不移除
            }

            Console.ReadKey();
        }
    }
}

展示效果:

对列操作效果展示

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中的Queue<T>是一种先进先出(FIFO)的集合类型,其中T可以是任何数据类型,如int、string、自定义类等。Queue<T>是基于数组实现的,支持常见的队列操作,如入队、出队、获取队首元素等。 Queue<Sector>表示一个Sector类型的队列,Sector是一个自定义的类,该队列可以存储多个Sector对象。 以下是一个使用Queue<Sector>的例子: ```c# using System; using System.Collections.Generic; public class Sector { public int Id { get; set; } public string Name { get; set; } } class Program { static void Main(string[] args) { // 创建一个Sector类型的队列 Queue<Sector> queue = new Queue<Sector>(); // 向队列中添加元素 queue.Enqueue(new Sector { Id = 1, Name = "Sector1" }); queue.Enqueue(new Sector { Id = 2, Name = "Sector2" }); queue.Enqueue(new Sector { Id = 3, Name = "Sector3" }); // 获取队首元素并输出 Sector firstSector = queue.Peek(); Console.WriteLine($"队首元素:{firstSector.Id},{firstSector.Name}"); // 出队一个元素并输出 Sector sector = queue.Dequeue(); Console.WriteLine($"出队元素:{sector.Id},{sector.Name}"); // 遍历队列中的所有元素并输出 foreach (Sector s in queue) { Console.WriteLine($"队列元素:{s.Id},{s.Name}"); } } } ``` 上述程序创建了一个Queue<Sector>类型的队列,并向其中添加了三个Sector对象。使用Peek()方法获取队首元素并输出,使用Dequeue()方法出队一个元素并输出,使用foreach遍历队列中的所有元素并输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值