Exemple #1
0
#pragma warning disable 0219
    public static void Test0()
    {
        Console.WriteLine("Performance_ViDoubleLink3.Test0");
        ViDoubleLink3 <UInt32> list = new ViDoubleLink3 <UInt32>();
        UInt32 cnt   = 10000000;
        UInt32 round = 100;

        Console.WriteLine(DateTime.Now);
        for (UInt32 idx = 0; idx < cnt; ++idx)
        {
            list.PushBack(idx);
        }
        Console.WriteLine(DateTime.Now);
        for (UInt32 idx = 0; idx < round; ++idx)
        {
            ViDoubleLinkNode3 <UInt32> iter = list.GetHead();
            while (!list.IsEnd(iter))
            {
                UInt32 value = iter.Data;
                ViDoubleLink3 <UInt32> .Next(ref iter);

                ///<使用>
                ///</使用>
            }
        }
        Console.WriteLine(DateTime.Now);
    }
Exemple #2
0
#pragma warning disable 0219
    public static void Test()
    {
        ViDoubleLink3 <int> list = new ViDoubleLink3 <int>();

        list.PushBack(1);
        list.PushBack(3);

        {        ///<正向迭代>
            ViDoubleLinkNode3 <int> iter = list.GetHead();
            while (!list.IsEnd(iter))
            {
                int value = iter.Data;
                ViDoubleLink3 <int> .Next(ref iter);

                ///<使用>
                Console.WriteLine(value);
                ///</使用>
            }
        }
        {        ///<反向迭代>
            ViDoubleLinkNode3 <int> iter = list.GetTail();
            while (!list.IsEnd(iter))
            {
                int value = iter.Data;
                ViDoubleLink3 <int> .Pre(ref iter);

                ///<使用>
                Console.WriteLine(value);
                ///</使用>
            }
        }

        foreach (int value in list)
        {
            Console.WriteLine(value);
        }
    }