Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var node = new DoublyLinkedList <Cat>();

            node.AddFirst(new Cat("Maca", 7, "Maria"));
            node.AddFirst(new Cat("Myro", 2, "Qvor"));
            node.AddFirst(new Cat("Liva", 3, "Katq"));
            node.AddFirst(new Cat("Maq", 2, "Stevi"));
            node.AddFirst(new Cat("Klara", 3, "Qna"));
            node.ForEach(x => Console.WriteLine(x));

            var array = node.ToArray();

            Console.WriteLine(node.Count);

            Console.WriteLine(node.RemoveFirst());
            Console.WriteLine(node.RemoveLast());
            Console.WriteLine("After removing:");

            node.ForEach(x => Console.WriteLine(x.Name));

            Console.WriteLine("Cats names: ");
            foreach (var cat in node)
            {
                Console.WriteLine(cat.Name);
            }
            Console.WriteLine(new string('-', 20));
            //foreach (var cat in array)
            //{
            //    Console.WriteLine(cat);
            //}

            //  Console.WriteLine(string.Join(", ",node.ToArray()));
        }
Exemplo n.º 2
0
        static void Main()
        {
            var list = new DoublyLinkedList <int>();

            list.ForEach(Console.WriteLine);
            Console.WriteLine("--------------------");

            list.AddLast(5);
            list.AddFirst(3);
            list.AddFirst(2);
            list.AddLast(10);
            Console.WriteLine("Count = {0}", list.Count);

            list.ForEach(Console.WriteLine);
            Console.WriteLine("--------------------");

            list.RemoveFirst();
            list.RemoveLast();
            list.RemoveFirst();

            list.ForEach(Console.WriteLine);
            Console.WriteLine("--------------------");

            list.RemoveLast();

            list.ForEach(Console.WriteLine);
            Console.WriteLine("--------------------");
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            DoublyLinkedList <string> list = new DoublyLinkedList <string>();

            list.AddFirst("One");
            list.AddFirst("Two");
            list.AddLast("Three");
            list.RemoveFirst();
            var arr = list.ToArray();

            System.Console.WriteLine(String.Join(' ', arr));
        }
        static void Main(string[] args)
        {
            DoublyLinkedList <int> myList = new DoublyLinkedList <int>();

            for (int i = 0; i < 5; i++)
            {
                myList.AddFirst(i);
            }

            Console.WriteLine("Printing nodes");
            myList.PrintNodes();
            Console.WriteLine($"Count - {myList.Count}");

            Console.WriteLine("Removing first element");
            myList.RemoveFirst();
            myList.PrintNodes();
            Console.WriteLine($"Count - {myList.Count}");

            Console.WriteLine("Removing last element");
            myList.RemoveLast();
            myList.PrintNodes();
            Console.WriteLine($"Count - {myList.Count}");

            Console.WriteLine("Reversing...");
            DoublyLinkedList <int> reversed = myList.Reverse();

            reversed.PrintNodes();
        }
Exemplo n.º 5
0
        // DoublyLinkedList = Двусвързан спиък
        static void Main(string[] args)
        {
            // Create
            var list = new DoublyLinkedList <int>();

            // Add
            list.AddFirst(112);
            list.AddFirst(911);
            list.AddFirst(166);
            list.AddFirst(160);
            list.AddFirst(150);

            // Print
            Console.WriteLine(string.Join(" ", list));
            Console.WriteLine("Count = {0}", list.Count);
        }
        public DoublyLinkedList <T> Reverse()
        {
            DoublyLinkedList <T> reversed = new DoublyLinkedList <T>();

            if (Count == 0)
            {
                throw new Exception("List is empty.");
            }
            else
            {
                Node <T> current = head;

                while (current.Next != null)
                {
                    current = current.Next;
                }

                Node <T> lastElement = current;
                reversed.AddFirst(lastElement.Value);

                while (lastElement.Previous != null)
                {
                    lastElement = lastElement.Previous;
                    reversed.AddLast(lastElement.Value);
                }

                return(reversed);
            }
        }
Exemplo n.º 7
0
        static void Main(string[] args)
        {
            DoublyLinkedList <int> list = new DoublyLinkedList <int>();

            list.AddFirst(112);
            list.AddFirst(911);
            list.AddFirst(166);
            list.AddFirst(160);
            list.AddFirst(150);

            Console.WriteLine(string.Join(" ", list));
            Console.WriteLine($"Count = {list.Count}");

            Console.WriteLine(list.RemoveFirst());
            Console.WriteLine(list.RemoveFirst());

            Console.WriteLine(list.RemoveLast());
            Console.WriteLine(list.RemoveLast());
        }
        public void AddFirst_SeveralElements_ShouldAddElementsCorrectly()
        {
            // Arrange
            var list = new DoublyLinkedList <int>();

            // Act
            list.AddFirst(10);
            list.AddFirst(5);
            list.AddFirst(3);

            // Assert
            Assert.Equal(3, list.Count);

            var items = new List <int>();

            list.ForEach(items.Add);
            Assert.Equal(items, new List <int>()
            {
                3, 5, 10
            });
        }
Exemplo n.º 9
0
        static void Main(string[] args)
        {
            DoublyLinkedList <int> doublyLinkedList = new DoublyLinkedList <int>();

            doublyLinkedList.AddAt(0, 1);
            doublyLinkedList.AddAt(0, 23);
            doublyLinkedList.AddAt(1, 33);
            doublyLinkedList.AddFirst(99);
            doublyLinkedList.AddLast(100);
            doublyLinkedList.RemoveAt(2);
            doublyLinkedList.RemoveFront();
            doublyLinkedList.RemoveEnd();
        }
        public void RemoveLast_SeveralElements_ShouldRemoveElementsCorrectly()
        {
            // Arrange
            var list = new DoublyLinkedList <int>();

            list.AddFirst(10);
            list.AddFirst(9);
            list.AddFirst(8);

            // Act
            var element = list.RemoveLast();

            // Assert
            Assert.Equal(10, element);
            Assert.Equal(2, list.Count);

            var items = new List <int>();

            list.ForEach(items.Add);
            Assert.Equal(items, new List <int> {
                8, 9
            });
        }
        public void AddFirst_WithEmptyList_ShouldAddElement()
        {
            // Arrange
            var list = new DoublyLinkedList <int>();

            // Act
            list.AddFirst(5);

            // Assert
            Assert.Equal(1, list.Count);

            var items = new List <int>();

            list.ForEach(items.Add);
            Assert.Equal(items, new List <int> {
                5
            });
        }
        public void RemoveLast_OneElement_ShouldMakeListEmpty()
        {
            // Arrange
            var list = new DoublyLinkedList <int>();

            list.AddFirst(5);

            // Act
            var element = list.RemoveLast();

            // Assert
            Assert.Equal(5, element);
            Assert.Equal(0, list.Count);

            var items = new List <int>();

            list.ForEach(items.Add);
            Assert.Equal(items, new List <int> {
            });
        }
Exemplo n.º 13
0
        static void Main(string[] args)
        {
            DoublyLinkedList <string> linkedList = new DoublyLinkedList <string>();

            // добавление элементов
            linkedList.Add("Bob");
            linkedList.Add("Bill");
            linkedList.Add("Tom");
            linkedList.AddFirst("Kate");
            foreach (var item in linkedList)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("-----------------------");

            // удаление
            linkedList.Remove("Bill");

            // перебор с последнего элемента
            foreach (var t in linkedList.BackEnumerator())
            {
                Console.WriteLine(t);
            }
        }