private TwoWayLinkList <int> GetFullList()
        {
            var list = new TwoWayLinkList <int>(-1);

            for (int i = 0; i < 5; i++)
            {
                list.Add(i);
            }
            return(list);
        }
Exemple #2
0
        public static TwoWayLinkList <T> ToTwoWayLinkList <T>(this T[] array)
        {
            var list = new TwoWayLinkList <T>();

            foreach (var item in array)
            {
                list.Add(item);
            }
            return(list);
        }
Exemple #3
0
        /// <summary>
        /// 双向链表 测试
        /// </summary>
        private static void TwoWayLinkListTest()
        {
            TwoWayLinkList <Student> list = new TwoWayLinkList <Student>();

            for (int i = 0; i < 1; i++)
            {
                list.insert(new Student()
                {
                    cardID = i, name = "sun" + i
                });
            }

            list.insert(0, new Student()
            {
                cardID = 124, name = "sun" + 124
            });

            Console.WriteLine("LinkList Length: " + list.length());

            Student stuFirst = list.getFirst();

            Console.WriteLine("First index : " + stuFirst.cardID);
            Student stuLast = list.getLast();

            Console.WriteLine("Last index : " + stuLast.cardID);
            Console.WriteLine();
            int     index = 1;
            Student stu   = list.get(index);

            Console.WriteLine(index + " index : " + stu.cardID);
            Console.WriteLine();
            Stopwatch sw = new Stopwatch();

            sw.Start();
            IEnumerator tor = list.GetEnumerator();

            while (tor.MoveNext())
            {
                if (tor.Current is Student)
                {
                    Student s = tor.Current as Student;
                    Console.WriteLine("cardID: " + s.cardID);
                }
                else
                {
                    Console.WriteLine("LinkList GetEnumerator is null.");
                }
            }
            sw.Stop();
            Console.WriteLine("LinkList Total Time: " + sw.ElapsedMilliseconds + "ms");
        }