2010年1月27日水曜日

System.Collections.Generic Name SpaceのStack Classをインスタンス化して、Stack Classのメンバーを使用して要素をいろいろと操作してみる。

using System;
using System.Collections.Generic;


class MainClass
{
    // stackの要素をすべて表示するメソッド
    static void printOut(Stack<int> stack)
    {
        foreach (var n in stack)
        {
            Console.Write("{0} ", n);
        }
        // 改行
        Console.WriteLine();
    }


    static void Main()
    {
        // Stack Classをインスタンス化
        var stack = new Stack<int>();


        // 先頭に順に値を代入
        for (int i = 0; i < 10; i++)
        {
            stack.Push(i + 1);
        }
        /* Stack Classは後入れ先出し(LIFO
         * (Last In First Out))であることを確認
         * 出力値:10 9 8 7 6 5 4 3 2 1 */
        printOut(stack);


        /* stackに10,100が含まれているか確認
         * 出力値:True False */
        Console.WriteLine("{0} {1}",
            stack.Contains(10), stack.Contains(100));


        /* stackの要素数を表示
         * 出力値:10 */
        Console.WriteLine(stack.Count);


        /* stackの先頭を表示
         * 出力値: 10 */
        Console.WriteLine(stack.Peek());


        /* stackの先頭を表示して削除
         * 出力値:10 */
        Console.WriteLine(stack.Pop());


        /* 削除されいることを確認
         * 出力値:9 8 7 6 5 4 3 2 1 */
        printOut(stack);


        // 先頭に100を追加
        stack.Push(100);


        // 出力値:100 10 9 8 7 6 5 4 3 2 1
        printOut(stack);
    }
}

0 コメント:

コメントを投稿