public static void MergeSortTest() { var inputArray = new int[] { 99, 44, 6, 2, 1, 5, 63, 87, 283, 4, 0 }; MergeSort.Sort(ref inputArray); Debug.Assert(Enumerable.SequenceEqual(inputArray, _sortedArray)); Console.WriteLine("Sorted array: "); for (int i = 0; i < inputArray.Length; i++) { Console.Write(inputArray[i] + " "); } }
// Show the list of sorting methods private static void SortingSelection(float[] inputNums) { string userInput = "{"; for (int i = 0; i < inputNums.Length - 1; i++) { userInput += inputNums[i] + ", "; } userInput += inputNums[inputNums.Length - 1] + "}"; Console.WriteLine("Now please choose a sorting method (Enter a number):\n" + "1. Merge Sort\n" + "2. Quick Sort\n" + "3. Heap Sort\n" + "4. Bubble Sort\n" + "5. Shell Sort\n" + "6. Selection Sort\n" + "7. Insertion Sort\n" ); Console.Write("Enter your choice: "); string input = Console.ReadLine(); int inputInt; if (int.TryParse(input, out inputInt)) { Console.WriteLine("Your input is " + userInput); float[] userInputArray = inputNums; DateTime now = DateTime.Now; switch (inputInt) { case 1: Console.WriteLine("[" + DateTime.Now + "] Merge Sort starts"); MergeSort.MergeMain(inputNums); ShowResult(inputNums, now); break; case 2: Console.WriteLine("[" + DateTime.Now + "] Quick Sort starts"); QuickSort.QuickMain(inputNums); ShowResult(inputNums, now); break; case 3: Console.WriteLine("[" + DateTime.Now + "] Heap Sort starts"); HeapSort.HeapMain(inputNums); ShowResult(inputNums, now); break; case 4: Console.WriteLine("[" + DateTime.Now + "] Bubble Sort starts"); BubbleSort.BubbleMain(inputNums); ShowResult(inputNums, now); break; case 5: Console.WriteLine("[" + DateTime.Now + "] Shell Sort starts"); ShellSort.ShellMain(inputNums); ShowResult(inputNums, now); break; case 6: Console.WriteLine("[" + DateTime.Now + "] Selection Sort starts"); Selection_Sort.SelectionSort(inputNums); ShowResult(inputNums, now); break; case 7: Console.WriteLine("[" + DateTime.Now + "] Insertion Sort starts"); Insertion_Sort.InsertionMain(inputNums); ShowResult(inputNums, now); break; default: break; } Console.WriteLine("\nDo you want to try another sorting method with the same input? (Y/N)"); input = Console.ReadLine(); if (input.ToLower().Replace(" ", "") == "y" || input.ToLower().Replace(" ", "") == "yes") { Console.WriteLine(""); SortingSelection(userInputArray); } } else { Console.WriteLine("Sorry, please enter a number only for your selection."); SortingSelection(inputNums); } }