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