c#におけるQueueキュークラスの理解

1834 ワード


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(); 
    } 
}