Queue

    队列(Queue)是其元素以先进先出的方式来处理的集合。先放在队列中的元素会先读取。队列的例子有在机场排的队、人力资源部中等待处理求职信的队列、打印队列中等待处理的打印任务、以循环方式等待处理的线程…………

Queue的声明

  声明一个队列要用关键字 Queue。其语法格式与类的声明相同。

    

    Queue queue=new Queue(); //声明queue

Queue的属性

  Queue常用的属性有Count,其中:

    Count是获取Queue中的元素个数。

    Queue queue=new Queue();

    queue.Enqueue(12);           //向queue中增加数据.

    queue.Enqueue(12);

    int count=queue.Count;       //count这时的值为2.

Queue的方法

  C#为我们提供了一些操作Queue常用的方法如下表:

        public virtual void Clear(); 
        从 Queue 中移除所有的元素。

        public virtual bool Contains( object obj ); 
        判断某个元素是否在 Queue 中

        public virtual object Dequeue();
        移除并返回在 Queue 的开头的对象。

        public virtual void Enqueue( object obj ); 
        向 Queue 的末尾添加一个对象。

        

        public virtual object[] ToArray();
        复制 Queue 到一个新的数组中。

        public virtual void TrimToSize();
        设置容量为 Queue 中元素的实际个数

using System;

using System.Collections;

namespace CollectionsApplication

{

  class Program

  {

     static void Main(string[] args)

     {

        Queue q = new Queue();

 

        q.Enqueue('A'); // 增加元素

        q.Enqueue('M');

        q.Enqueue('G');

        q.Enqueue('W');

 

        Console.WriteLine("Current queue: "); // A M G W

        foreach (char c in q)

           Console.Write(c + " ");

        Console.WriteLine();

        q.Enqueue('V');

        q.Enqueue('H');

        Console.WriteLine("Current queue: ");  // A M G W V H      

        foreach (char c in q)

           Console.Write(c + " ");

        Console.WriteLine();

        Console.WriteLine("Removing some values ");

        char ch = (char)q.Dequeue();          //移除元素

        Console.WriteLine("The removed value: {0}", ch); // A

        ch = (char)q.Dequeue();

        Console.WriteLine("The removed value: {0}", ch); // M

     }

  }

}