Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            const int size = 5;

            int[] vec = new int[size] {
                4, 1, 5, 7, 2
            };

            DoubleLinkedList <int> list = new DoubleLinkedList <int>();

            list.AddFirst(vec[1]);
            list.AddLast(vec[2]);
            list.AddLast(vec[3]);
            list.AddFirst(vec[0]);
            list.AddLast(vec[4]);

            /* ***** */

            Console.WriteLine("\n  Input data Test\n-------------------\n");

            IDoubleLinkedListNode <int> Temp = list.First;

            for (int i = 0; i < size; i++)
            {
                Assert.AreEqual(vec[i], Temp.Value);
                Console.WriteLine("  Pos: {0,2},  Value: {1,2}\n", i, Temp.Value);
                Temp = Temp.Next;
            }

            /* ***** */

            Console.WriteLine("\n  Reverse Test\n----------------\n");

            list.Reverse();
            Temp = list.First;
            for (int i = size - 1; i >= 0; i--)
            {
                Assert.AreEqual(vec[i], Temp.Value);
                Console.WriteLine("  Pos: {0,2},  Value: {1,2}\n", (size - 1) - i, Temp.Value);
                Temp = Temp.Next;
            }
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            DoubleLinkedList <string> linkedList = new DoubleLinkedList <string>();

            // добавление элементов
            linkedList.AddLast("Audi");
            linkedList.AddLast("BMW");
            linkedList.AddLast("KIA");
            linkedList.AddLast("Hyundai");
            linkedList.AddLast("Honda");
            linkedList.AddLast("Mercedes");
            linkedList.AddFirst("Subaru");
            // Добавление элемента в произволную позицию
            Console.WriteLine("Введите желаемый индекс для вставки элемента");
            linkedList.AddInside("Opel", Convert.ToInt32(Console.ReadLine()));



            // вывод списка
            foreach (var item in linkedList)
            {
                Console.WriteLine(item);
            }

            // удаление элемента по индексу
            Console.WriteLine("Введите индекс удаляемого элемента");
            linkedList.RemoveAt(Convert.ToInt32(Console.ReadLine()));
            foreach (var item in linkedList)
            {
                Console.WriteLine(item);
            }

            // Поиск элемента по желаемому индексу
            Console.WriteLine("Введите индекс желаемого элемента");
            linkedList.FindIdByIndex(Convert.ToInt32(Console.ReadLine()));

            // Количество элементов в спике
            linkedList.GetCount();

            // Элементы списка с длиной названия < 4 символов
            var list = linkedList.Where(n => n.Length < 4).Select(n => n);

            Console.WriteLine("Элементы списка с длиной названия < 4 символов");
            foreach (var item in list)
            {
                Console.WriteLine(item);
            }

            // Сортировка элементов по длине названия
            var sort = linkedList.OrderBy(item => item.Count()).Select(item => item);

            Console.WriteLine("Сортировка элементов по длине названия:");
            foreach (var item in sort)
            {
                Console.WriteLine(item);
            }


            Console.ReadLine();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            DoubleLinkedList <long> doubleLinkedList = new DoubleLinkedList <long>();

            for (long i = 0; i < 100000000; i++)
            {
                doubleLinkedList.AddLast(i);
            }

            var watch = new Stopwatch();

            watch.Start();
            doubleLinkedList.Contains(50000000);
            watch.Stop();
            Console.WriteLine("DoubleLinkedList Time ->  " + watch.Elapsed);
        }