public void MenuSelectorSorts() { string tstring = OutputQuestion("Select how many sorts you want to compare, or press 'A' to search all sorts:").ToLower(); MenuMasterSelections(tstring); if (tstring != "a") { try { uint numOfSorts = Convert.ToUInt32(tstring); ISort_Base[] sorts = new ISort_Base[numOfSorts]; for (int i = 0; i < (numOfSorts); i++) { Console.Clear(); Console.WriteLine(menuMasterOptions); sorts[i] = SortSelector(); } Console.Clear(); SizeSelector(sorts); } catch (Exception) { Console.WriteLine("Invalid entry, please try again."); MenuSelectorSorts(); } } else { ISort_Base[] sorts = { bubble, insertion, mergeIterative, mergeRecursive, radix, selection, shell }; Console.Clear(); SizeSelector(sorts); } }
public ISort_Base SortSelector() { ISort_Base sort = null; Console.WriteLine("Select a sort: \n1: Bubble\n2: Insertion\n3: Merge(iterative)\n4: Merge(Recursive)\n5: Radix\n6: Selection\n7: Shell\n8: QuickSort\n9: Microsoft Sort"); string selectedOption = Console.ReadLine(); switch (selectedOption) { case "1": sort = bubble; break; case "2": sort = insertion; break; case "3": sort = mergeIterative; break; case "4": sort = mergeRecursive; break; case "5": sort = radix; break; case "6": sort = selection; break; case "7": sort = shell; break; case "8": sort = quicksort; break; case "9": sort = microsoft; break; default: MenuMasterSelections(selectedOption); Console.WriteLine("Invalid Character. Please Try again."); SortSelector(); break; } Console.Clear(); return(sort); }