专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

C#队列Queue用法实例分析

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:37:44       共计:3587 浏览
这篇文章主要介绍了C#队列Queue用法,实例分析了队列的功能、定义及相关使用技巧,需要的朋友可以参考下

本文实例分析了C#队列Queue用法。分享给大家供大家参考。具体分析如下:

队列(Queue)在程序设计中扮演着重要的角色,因为它可以模拟队列的数据操作。例如,排队买票就是一个队列操作,后来的人排在后面,先来的人排在前面,并且买票请求先被处理。为了模拟队列的操作,Queue在ArrayList的基础上加入了以下限制

1.元素采用先入先出机制(FIFO,First In First Out),即先进入队列的元素必须先离开队列。最先进入的元素称为队头元素。

元素只能被添加到队尾(称为入队),不允许在中间的某个位置插入。也就是说,不支持ArrayList中的Insert方法

2.只有队头的元素才能被删除(称为出队),不允许直接对队列中的非队头元素进行删除,从而保证FIFO机制。也就是说,不支持ArrayList中的Remove方法。

3.不允许直接对队列中非队头元素进行访问。也就是说,不支持ArrayList中的索引访问,只允许遍历访问

注意:

Queue.Enqueue (object):向Queue中入队一个对象元素。
Queue.Dequeue ():从Queue中出队一个对象元素,并将此元素返回。


举例:


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

namespace TestQuest
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] cars = new string[] { "宝马", "奔驰", "奥迪", "东风", "劳斯莱斯" };
            Console.WriteLine("开始入队列");
            Queue<string> que = new Queue<string>();
            foreach (string str in cars)
            {
                que.Enqueue(str);
                Console.WriteLine("入队列-{0}", str);
            }
            Console.WriteLine();
            //打印队列
            PrintQueue(que);
            Console.WriteLine();
            Console.WriteLine("开始出队列");
            while (que.Count > 0)
            {
                string str = que.Dequeue();
                Console.WriteLine("出队列-{0}", str);
            }
            Console.ReadKey();
        }
        private static void PrintQueue(Queue<string> list)
        {
            Console.WriteLine("开始打印队列");
            foreach (string str in list)
            {
                Console.WriteLine(str);
            }
        }

    }
}

版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:C# 队列(Queue) | ·下一条:C#垃圾回收机制(GC)

Copyright © 广州京杭网络科技有限公司 2005-2024 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有