/// <summary> /// Driver method. /// </summary> /// <param name="args"></param> static void Main(string[] args) { var applicationUnderTest = new Program(); var result = applicationUnderTest.CreatePair(new[] { 1, 3, 5, 7, 0, 90 }); Console.WriteLine("Content of the Pair object after getting created"); foreach (var resultItem in result) { Console.WriteLine(resultItem); } Console.WriteLine("=================================================================================================="); Console.WriteLine(); var inputArray = new[] { 1, 3, 5, 7, 0, 90 }; Console.WriteLine("Before Calling Reverse Array"); Console.WriteLine("-----------------------------"); foreach (var item in inputArray) { Console.Write(item + " "); } Console.WriteLine(); var resultArray = applicationUnderTest.ReverseArray(new[] { 1, 3, 5, 7, 0, 90 }); Console.WriteLine("After Calling Reverse Array"); Console.WriteLine("-----------------------------"); foreach (var item in resultArray) { Console.Write(item + " "); } Console.WriteLine(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); var array1 = new[] { -5, 6, 3, -2, 10, -12, 20, 11 }; var array2 = new[] { 7, 20, 9, -5, 2, 14, 3 }; Console.WriteLine("Content of Array1"); Console.WriteLine("-----------------------------"); foreach (var item in array1) { Console.Write(item + " "); } Console.WriteLine(); Console.WriteLine("Content of Array2"); Console.WriteLine("-----------------------------"); foreach (var item in array2) { Console.Write(item + " "); } Console.WriteLine(); var resultUnion = applicationUnderTest.FindIntersection(array1, array2); Console.WriteLine("Intersection of Array1 and Array2"); Console.WriteLine("-----------------------------"); foreach (var item in resultUnion) { Console.Write(item + " "); } Console.WriteLine(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); var nonUniqueValues = new [] { 7, 10, 10, 12, 15, 17, 17, 17, 17, 20, 25, 33, 40, 40, 40, 45, 45, 49 }; Console.WriteLine("Values of nonUnique Array"); Console.WriteLine("-----------------------------"); foreach (var item in nonUniqueValues) { Console.Write(item + " "); } Console.WriteLine(); var resultUniqueValues = applicationUnderTest.RemoveDuplicates(nonUniqueValues); Console.WriteLine("Content of unique result"); Console.WriteLine("-----------------------------"); foreach (var item in resultUniqueValues) { Console.Write(item + " "); } Console.WriteLine(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); var myLinkedList = new MyLinkedList(10); myLinkedList.addLast(15); myLinkedList.addLast(20); myLinkedList.addLast(25); myLinkedList.addLast(30); myLinkedList.addLast(35); myLinkedList.addLast(40); // myLinkedList.addLast(45); Console.WriteLine("Content of the linkedlist before reversal "); myLinkedList.DisplayAll(); //Apply Reverse linked list operation. var reversedLinkedList = applicationUnderTest.ReverseLinkedList(myLinkedList); Console.WriteLine("Content of the linkedlist after reversal "); reversedLinkedList.DisplayAll(); Console.WriteLine(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); myLinkedList = new MyLinkedList(10); myLinkedList.addLast(103); myLinkedList.addLast(20); myLinkedList.addLast(88); myLinkedList.addLast(30); myLinkedList.addLast(99); Console.WriteLine("Content of the linkedlist before applying sorting with ascending order "); myLinkedList.DisplayAll(); Console.WriteLine("Content of the linkedlist after applying sorting with ascending order "); myLinkedList.bubblesortAscending(); myLinkedList.DisplayAll(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); myLinkedList = new MyLinkedList(10); myLinkedList.addLast(103); myLinkedList.addLast(20); myLinkedList.addLast(88); myLinkedList.addLast(30); myLinkedList.addLast(99); myLinkedList.addLast(40); Console.WriteLine("Content of the linkedlist before applying sorting with descending order "); myLinkedList.DisplayAll(); Console.WriteLine("Content of the linkedlist after applying sorting with descending order "); myLinkedList.bubblesortDescending(); myLinkedList.DisplayAll(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); Console.WriteLine(); myLinkedList = new MyLinkedList(10); myLinkedList.addLast(103); myLinkedList.addLast(103); myLinkedList.addLast(20); myLinkedList.addLast(20); myLinkedList.addLast(88); myLinkedList.addLast(30); myLinkedList.addLast(30); myLinkedList.addLast(99); myLinkedList.addLast(99); myLinkedList.addLast(99); myLinkedList.addLast(40); myLinkedList.addLast(400); myLinkedList.bubblesortAscending(); Console.WriteLine("Content of sorted linkedlist before applying Remove duplicate with descending order "); myLinkedList.DisplayAll(); myLinkedList.RemoveDuplicateFromSortedList(); Console.WriteLine("Content of the sorted linkedlist after removeing duplicates."); myLinkedList.DisplayAll(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); Console.WriteLine(); var intStack = new Stack <int>(); intStack.Push(103); intStack.Push(100); intStack.Push(20); intStack.Push(55); intStack.Push(88); intStack.Push(31); intStack.Push(30); intStack.Push(29); intStack.Push(79); intStack.Push(99); intStack.Push(80); intStack.Push(400); Console.WriteLine("Content of Stack before applying Remove last entry:"); intStack.GetEnumerator(); var enumerator = intStack.GetEnumerator(); while (enumerator.MoveNext()) { Console.WriteLine(enumerator.Current + " "); } Console.WriteLine(); Console.WriteLine("Content of Stack after applying Remove last entry"); intStack = applicationUnderTest.RemoveTop(intStack); enumerator = intStack.GetEnumerator(); while (enumerator.MoveNext()) { Console.WriteLine(enumerator.Current + " "); } Console.WriteLine(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); Console.WriteLine(); intStack = new Stack <int>(); intStack.Push(103); intStack.Push(100); intStack.Push(20); intStack.Push(55); intStack.Push(88); intStack.Push(31); intStack.Push(30); intStack.Push(29); intStack.Push(79); intStack.Push(99); intStack.Push(80); intStack.Push(400); Console.WriteLine("Content of Stack before Swapping half of the stack:"); intStack.GetEnumerator(); enumerator = intStack.GetEnumerator(); while (enumerator.MoveNext()) { Console.WriteLine(enumerator.Current + " "); } Console.WriteLine(); Console.WriteLine("Content of Stack after Swapping half of the stack:"); intStack = applicationUnderTest.SwapHalfOfStack(intStack); enumerator = intStack.GetEnumerator(); while (enumerator.MoveNext()) { Console.WriteLine(enumerator.Current + " "); } Console.WriteLine(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); Console.WriteLine(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); Console.WriteLine(); var intQueue = new Queue <int>(); intQueue.Enqueue(103); intQueue.Enqueue(100); intQueue.Enqueue(20); intQueue.Enqueue(55); intQueue.Enqueue(88); intQueue.Enqueue(3100); intQueue.Enqueue(30); intQueue.Enqueue(29); intQueue.Enqueue(79); intQueue.Enqueue(99); intQueue.Enqueue(80); intQueue.Enqueue(400); Console.WriteLine("Content of Queue before positioning the max to the front:"); intQueue.GetEnumerator(); var enumeratorQueue = intQueue.GetEnumerator(); while (enumeratorQueue.MoveNext()) { Console.WriteLine(enumeratorQueue.Current + " "); } Console.WriteLine(); Console.WriteLine("Content of Queue after positioning the max to the front:"); intQueue = PositionMaxEntryToTheFront(intQueue); enumeratorQueue = intQueue.GetEnumerator(); while (enumeratorQueue.MoveNext()) { Console.WriteLine(enumeratorQueue.Current + " "); } Console.WriteLine(); Console.WriteLine("=================================================================================================="); Console.WriteLine(); Console.ReadKey(); }