2009年12月10日木曜日

Stackクラスを定義し、Pushメソッド、Popメソッド、Peekメソッドを使用して要素を加えたり削除したりしてみる。
using System;
using System.Collections.Generic;

class MainClass
{
    static void Main()
    {
        // 要素がint型のstack,stを定義
        var st = new Stack<int>();

        // 1から10までの要素を追加
        // Stackは後入れ先出し
        int i=10;
        while(i>0)
        {
            st.Push(i--);
        }

        // stを出力
        // 出力値:1 2 3 4 5 6 7 8 9 10
        foreach( var n in st)
        {
            Console.Write(n+" ");
        }

        // 改行
        Console.WriteLine("");

        // Popを使用し要素を取得して出力し削除
        // 出力値:1
        Console.WriteLine(st.Pop());

        // 削除されていることを確認
        // 出力値:2 3 4 5 6 7 8 9 10
        foreach (var n in st)
        {
            Console.Write(n + " ");
        }
        Console.WriteLine("");

        // Peekを使用し要素を取得して出力
        // 出力値:2
        Console.WriteLine(st.Peek());

        // 2が削除されてないことを確認
        // 出力値:2 3 4 5 6 7 8 9 10
        foreach (var n in st)
        {
            Console.Write(n + " ");
        }
        Console.WriteLine("");
        // Clearメソッドを使用し要素をすべて削除
        st.Clear();

        // 要素1,2を追加
        st.Push(2);
        st.Push(1);

        // 出力値:1 2
        foreach (var n in st)
        {
            Console.Write(n + " ");
        }
        Console.WriteLine("");
    }
}

0 コメント:

コメントを投稿