Exemplo n.º 1
0
        public static void Main()
        {
            try
            {
                LinkedList<int> linkedList = new LinkedList<int>();
                linkedList.AddFirst(5);
                linkedList.AddLast(10);
                linkedList.AddFirst(20);
                // returns Exception
                //linkedList.AddItemAt(30, 0);
                linkedList.AddItemAt(30, 1);

                Console.WriteLine(linkedList[1]);

                linkedList.AddLast(50);
                linkedList.AddAfter(linkedList.FirstElement.NextItem.NextItem.NextItem, 60);
                linkedList.AddBefore(linkedList.FirstElement, 0);
                linkedList.RemoveFirst();
                linkedList.RemoveLast();
                linkedList.RemoveAt(1);

                Console.WriteLine(linkedList[1]);
                Console.WriteLine(linkedList.Count);

                linkedList.RemoveAt(5);
            }
            catch (ArgumentException aex)
            {
                Console.WriteLine(aex.TargetSite + " -> " + aex.Message);
            }
            catch (IndexOutOfRangeException iex)
            {
                Console.WriteLine(iex.TargetSite + " -> " + iex.Message);
            }
        }
Exemplo n.º 2
0
        public static void Main(string[] args)
        {
            LinkedList<string> linked = new LinkedList<string>();
            //
            // Use AddLast method to add elements at the end.
            // Use AddFirst method to add element at the start.
            //
            linked.AddLast("Third");
            linked.AddLast("Fourth");
            linked.AddLast("Fifth");
            linked.AddFirst("Second");
            linked.AddLast("Sixth");
            linked.AddFirst("First");
            linked.RemoveFirst ();
            //linked.RemoveLast();
            linked.Find("Fourth");
            //linked.FindLast ("dog");
            int x=linked.Count;
            Console.WriteLine (x);

            // Insert a node before the second node (after the first node)
            //
            LinkedListNode<string> node = linked.Find("Third");
            linked.AddAfter(node, "inserted");
            //
            // Loop through the linked list.
            foreach (string s in linked)
                Console.WriteLine (s);
        }
Exemplo n.º 3
0
        public static void Main()
        {
            LinkedList<int> myTestLinkedList = new LinkedList<int>();
            myTestLinkedList.AddFirst(1);
            myTestLinkedList.AddLast(2);
            myTestLinkedList.AddLast(3);
            myTestLinkedList.AddLast(2);
            myTestLinkedList.AddLast(6);
            myTestLinkedList.AddLast(4);

            ListItem<int> itemInMiddle = myTestLinkedList.Find(3);
            myTestLinkedList.AddAfter(itemInMiddle, 10);

            myTestLinkedList.AddFirst(100);

            ListItem<int> currItem = myTestLinkedList.FirstElement;

            while (currItem.NextItem != null)
            {
                Console.WriteLine(currItem.Value);

                currItem = currItem.NextItem;
            }

            Console.WriteLine(currItem.Value);
        }
Exemplo n.º 4
0
        public static void Main()
        {
            LinkedList<int> list = new LinkedList<int>();
            list.AddFirst(5);
            list.AddFirst(1);
            list.AddLast(-10);
            list.AddLast(8);
            list.AddFirst(3);

            foreach (var item in list)
            {
                Console.WriteLine(item);
            }
        }
Exemplo n.º 5
0
        public static void Main()
        {
            var numbers = new LinkedList<int>();
            numbers.AddFirst(1);
            numbers.AddFirst(2);
            numbers.AddFirst(3);
            numbers.AddFirst(4);
            numbers.AddLast(5);
            numbers.AddLast(6);
            numbers.AddLast(7);

            int numberOfElements = numbers.Count;
            Console.WriteLine(NumberOfElementsMessage, numberOfElements);

            numbers.Print();
        }        
Exemplo n.º 6
0
        public void TestReverse()
        {
            LinkedList<int> ll = new LinkedList<int>();
            ll.AddFirst(9);
            ll.AddFirst(8);
            ll.AddFirst(7);
            ll.AddFirst(6);
            ll.AddFirst(5);
            ll.AddFirst(4);
            ll.AddFirst(3);
            ll.AddFirst(2);
            ll.AddFirst(1);

            ll.Reverse();

            int[] myAnswer = ll.ToArray();

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

            for (int i = 0; i < answer.Length; i++)
            {
                Assert.AreEqual(answer[i], myAnswer[i]);
            }

            LinkedList<int> l2 = new LinkedList<int>();
            l2.AddFirst(9);
            l2.AddFirst(8);
            l2.AddFirst(7);
            l2.AddFirst(6);
            l2.AddFirst(5);
            l2.AddFirst(4);
            l2.AddFirst(3);
            l2.AddFirst(2);
            l2.AddFirst(1);

            l2.ReverseRecursive();

            int[] myRecursiveAnswer = l2.ToArray();

            for (int i = 0; i < answer.Length; i++)
            {
                Assert.AreEqual(answer[i], myRecursiveAnswer[i]);
            }
        }
        internal static void Main()
        {
            LinkedList<int> list = new LinkedList<int>();
            LinkedListNode<int> first = list.AddFirst(42);
            var random = new Random();

            for (int i = 1; i < 6; i++)
            {
                int value = random.Next() % 10;
                Console.WriteLine("Вмъкване преди: {0} - стойност {1}", first.Value, value);
                first = list.AddBefore(first, value);
            }

            LinkedListNode<int> current = first;

            for (int i = 6; i < 10; i++)
            {
                int value = random.Next() % 10;
                Console.WriteLine("Вмъкване след: {0} - стойност {1}", current.Value, value);
                current = list.AddAfter(current, value);
            }

            list.Print();

            // Изтриването на несъществуващ елемент ще доведе до грешка
            for (int i = 0; i < 5; i++)
            {
                try
                {
                    int value = random.Next() % 10;
                    Console.WriteLine("Изтриване на елемент със стойност {0}", value);
                    list.DeleteNode(value);
                }
                catch (InvalidOperationException ioe)
                {
                    Console.WriteLine(ioe.Message);
                }

                list.Print();
            }
        }
Exemplo n.º 8
0
 public void TestLinkedListAddFirstAndGetFirst()
 {
     LinkedList<int> ll = new LinkedList<int>();
     ll.AddFirst(5);
     Assert.AreEqual(5, ll.GetFirst());
 }
Exemplo n.º 9
0
 public void TestContains()
 {
     LinkedList<int> ll = new LinkedList<int>();
     ll.AddFirst(5);
     ll.AddFirst(7);
     ll.AddFirst(9);
     ll.AddFirst(9);
     ll.AddFirst(9);
     ll.AddFirst(9);
     ll.AddFirst(9);
     ll.AddFirst(9);
     ll.AddFirst(9);
     ll.AddFirst(8);
     ll.AddFirst(9);
     ll.AddFirst(9);
     ll.AddFirst(9);
     ll.AddFirst(9);
     Assert.AreEqual(true, ll.Contains(8));
     Assert.AreEqual(false, ll.Contains(6));
 }
Exemplo n.º 10
0
 public void ShouldShowTheItemAddedAsFirst()
 {
     var list = new LinkedList<int>() { 9, 2, 7, 5 };
     list.AddFirst(3);
     int[] result = new int[] { 3, 9, 2, 7, 5 };
     Assert.Equal(result, list);
 }
Exemplo n.º 11
0
 public void ShouldAddItemAsFirstCount()
 {
     var list = new LinkedList<int>() { 9, 2, 7 };
     list.AddFirst(5);
     Assert.Equal(4, list.Count);
 }