#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); }
#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); } }
public static void Test1() { Console.WriteLine("Performance_ViDoubleLink3.Test1"); 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) { foreach (UInt32 value in list) { } } Console.WriteLine(DateTime.Now); }