2010年2月26日金曜日

System.Collections.Generic Name SpaceのLinkedList Classをインスタンス化してそのMemberを使用し、要素をいろいろと操作たりデータ構造を確認したりしてみる。
using System;
using System.Collections.Generic;

class SampleClass
{
    public LinkedList<int> linkedlist;
    public void printOut()
    {
        foreach(var n in linkedlist)
        {
            Console.Write("{0} ",n);
        }
        Console.WriteLine();
    }
}

class MainClass
{
    static void Main()
    {
        SampleClass sample = new SampleClass();
        sample.linkedlist = new LinkedList<int>();

        // 先頭に要素を追加
        int i = 0;
        while (i < 5)
        {
            sample.linkedlist.AddFirst(i + 1);
            i++;
        }

        // 表示:5 4 3 2 1
        sample.printOut();

        // 末尾に要素を追加
        for (int j=0; j < 5; j++)
        {
            sample.linkedlist.AddLast(j + 1);
        }

        // 要素数を表示:10
        Console.WriteLine(sample.linkedlist.Count);

        // 表示:5 4 3 2 1 1 2 3 4 5
        sample.printOut();

        /* 要素1,10を持つか確認
         * 表示
         * True
         * False */
        Console.WriteLine("{0}¥n{1}",
            sample.linkedlist.Contains(1),
            sample.linkedlist.Contains(10));

        // 先頭の要素を削除
        sample.linkedlist.RemoveFirst();

        // 表示:4 3 2 1 1 2 3 4 5
        sample.printOut();

        // 末尾の要素を削除
        sample.linkedlist.RemoveLast();

        // 表示:4 3 2 1 1 2 3 4
        sample.printOut();

        // 要素をすべて削除
        sample.linkedlist.Clear();

        // 要素数を表示:0
        Console.WriteLine
            (sample.linkedlist.Count);
        
        /* LinkedList Classはindexによる
         * 参照はできない 
        Console.WriteLine(sample.linkedlist[1])
         * */
    }
}

0 コメント:

コメントを投稿