zoukankan      html  css  js  c++  java
  • C#队列Queue用法实例分析

    这篇文章主要介绍了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中出队一个对象元素,并将此元素返回。


    举例:

    1.  
      private void button_测试Queue_Click(object sender, EventArgs e)
    2.  
      {
    3.  
      string[] cars = new string[]{"宝马","奔驰","奥迪","东风","劳斯莱斯"};
    4.  
      Console.WriteLine("开始入队列");
    5.  
      Queue<string> que = new Queue<string>();
    6.  
      foreach (string str in cars)
    7.  
      {
    8.  
      que.Enqueue(str);
    9.  
      Console.WriteLine("入队列-{0}",str);
    10.  
      }
    11.  
      Console.WriteLine();
    12.  
      //打印队列
    13.  
      PrintQueue(que);
    14.  
      Console.WriteLine();
    15.  
      Console.WriteLine("开始出队列");
    16.  
      while (que.Count > 0)
    17.  
      {
    18.  
      string str = que.Dequeue();
    19.  
      Console.WriteLine("出队列-{0}", str);
    20.  
      }
    21.  
      }
    22.  
      private void PrintQueue(Queue<string> list)
    23.  
      {
    24.  
      Console.WriteLine("开始打印队列");
    25.  
      foreach (string str in list)
    26.  
      {
    27.  
      Console.WriteLine(str);
    28.  
      }
    29.  
      }
     
  • 相关阅读:
    Lua 语言学习
    Unity EasyTouch官方案例学习
    Unity Dotween官方案例学习
    斗地主出牌规则
    C# XML文件读取
    斗地主项目总结
    C# 委托和事件
    C# 观察者模式
    消防法及相关法律法规(二)
    消防法及相关法律法规(一)
  • 原文地址:https://www.cnblogs.com/wwwbdabc/p/11677369.html
Copyright © 2011-2022 走看看