Ejemplo n.º 1
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.º 2
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.º 3
0
        public static void Main(string[] args)
        {
            //•	void AddFirst(int element) – adds an element at the beginning of the collection
            //•	void AddLast(int element) – adds an element at the end of the collection
            //•	int RemoveFirst() – removes the element at the beginning of the collection
            //•	int RemoveLast() – removes the element at the end of the collection
            //•	void ForEach() – goes through the collection and executes a given action
            //•	void Clear() – delete all elements in collection
            //•	int[] ToArray() – returns the collection as an array

            var doubleLinkedList = new DoubleLinkedList <int>();

            doubleLinkedList.AddFirst(1);
            doubleLinkedList.AddFirst(2);
            doubleLinkedList.AddFirst(3);

            foreach (var item in doubleLinkedList)
            {
                Console.WriteLine(item);
            }
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            DoubleLinkedList <string> linkedList = new DoubleLinkedList <string>();

            linkedList.Add("Bob");
            linkedList.Add("Bill");
            linkedList.AddFirst("Kate");

            foreach (var item in linkedList)
            {
                Console.WriteLine(item);
            }

            linkedList.Remove("Bill");

            foreach (var t in linkedList.BackEnumerator())
            {
                Console.WriteLine(t);
            }
        }
Ejemplo n.º 5
0
        static void Main(string[] args)
        {
            IDoubleLinkedList <EquatbleObject> linkedList = new DoubleLinkedList <EquatbleObject>();

            //test Add() method
            for (int i = 0; i < 10; i++)
            {
                var obj = new EquatbleObject(i);
                linkedList.Add(obj);
            }

            linkedList.Clear();

            //test AddFirst() method
            for (int i = 0; i < 10; i++)
            {
                var obj = new EquatbleObject(i);
                linkedList.AddFirst(obj);
            }

            linkedList.Clear();

            //test RemoveFirst() method
            for (int i = 0; i < 3; i++)
            {
                var obj = new EquatbleObject(i);
                linkedList.Add(obj);
            }
            linkedList.RemoveFirst();

            linkedList.Clear();

            //test RemoveLast() method
            for (int i = 0; i < 3; i++)
            {
                var obj = new EquatbleObject(i);
                linkedList.Add(obj);
            }
            linkedList.RemoveLast();

            linkedList.Clear();

            //test GetEnumerator() method
            for (int i = 0; i < 10; i++)
            {
                var obj = new EquatbleObject(i);
                linkedList.Add(obj);
            }

            var enumerator = linkedList.GetEnumerator();

            while (enumerator.MoveNext())
            {
                var obj = enumerator.Current as EquatbleObject;
                Console.WriteLine(obj.ObjectValue.ToString());
            }

            //test Contains() method
            linkedList.Clear();
            linkedList.Add(new EquatbleObject(1));
            linkedList.Add(new EquatbleObject(2));
            linkedList.Add(new EquatbleObject(3));

            Console.WriteLine(linkedList.Contains(new EquatbleObject(2)));
            Console.WriteLine(linkedList.Contains(new EquatbleObject(5)));

            //test Remove() method
            linkedList.Remove(new EquatbleObject(1));
            Console.WriteLine(linkedList.Contains(new EquatbleObject(1)));
            linkedList.AddFirst(new EquatbleObject(1));
            linkedList.Remove(new EquatbleObject(2));
            enumerator = linkedList.GetEnumerator();
            while (enumerator.MoveNext())
            {
                var obj = enumerator.Current as EquatbleObject;
                Console.WriteLine(obj.ObjectValue.ToString());
            }

            linkedList.Remove(new EquatbleObject(3));
            linkedList.Remove(new EquatbleObject(1));

            Console.ReadLine();
        }
Ejemplo n.º 6
0
        public static void Main(string[] args)
        {
            DoubleLinkedList <int> lista = new DoubleLinkedList <int>();

            int[] niz = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 };

            for (uint i = 0; i < niz.Length; ++i)
            {
                if (!lista.Push(niz[i]))
                {
                    Console.WriteLine("greska");
                }
            }
            if (!lista.isEmpty())
            {
                Console.WriteLine(lista);
            }
            else
            {
                Console.WriteLine("Greska");
            }

            /*try {
             *  int tmp = lista.getByIndex(3);
             *  Console.WriteLine(tmp);
             *  while (true) Console.WriteLine(lista.Pop());
             * }
             * catch (System.IndexOutOfRangeException){
             *  Console.WriteLine("Desio se izlazak iz skupa indeksa");
             * }
             * catch(System.InvalidOperationException){
             *  Console.WriteLine("Ne moze da se radi Pop() nad praznom listom");
             * }*/
            if (lista == null)
            {
                Console.WriteLine("Lista je null iz nekog razloga");
                return;
            }
            lista.AddFirst(3);
            lista.AddFirst(1);
            //lista.Add(31, 4);
            Console.WriteLine(lista);
            lista.Add(2, 1);
            lista.Add(0, 0);
            lista.Delete(1);
            Console.WriteLine(lista);
            Console.WriteLine(lista.Length);
            lista.Clear();
            Console.WriteLine(lista);
            lista.Push(1);
            Console.WriteLine(lista);


            lista.Clear();
            niz = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8 };

            for (uint i = 0; i < niz.Length; ++i)
            {
                if (!lista.Push(niz[i]))
                {
                    Console.WriteLine("greska");
                }
            }

            Console.WriteLine(lista);
            lista.Update(31, 3);
            Console.WriteLine(lista);

            Console.WriteLine(lista.Find(3));
        }