Example #1
0
        static void TestSinglyLinkedList()
        {
            Console.WriteLine(" ***** Singly Linked List Implementation ***** ");

            MyLinkedList <int> testList = new MyLinkedList <int>();

            //testing AddFirst
            for (int i = 0; i < 6; i++)
            {
                testList.AddFirst(i);
            }
            CollectionToString CtoS = new CollectionToString();

            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //test reverse
            testList.Reverse();
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //test AddLast
            testList.AddLast(7);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //test AddAfter
            //after head
            testList.AddAfter(5, 6);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //in middle
            testList.AddAfter(4, 5);

            //after end
            testList.AddAfter(7, 8);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //handle miss
            testList.AddAfter(9, 3);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));


            //test AddBefore
            //before head
            testList.AddBefore(5, 4);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //in middle
            testList.AddBefore(3, 4);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //before last
            testList.AddBefore(8, 7);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //handle miss
            testList.AddBefore(9, 3);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //test DeleteAt
            //first
            testList.DeleteAt(4);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //middle
            testList.DeleteAt(4);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //end
            testList.DeleteAt(8);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));

            //handle miss
            testList.DeleteAt(9);
            Console.WriteLine(CtoS.MyLinkedListReporter(testList));
        }