public static void TestSorting2() { float[] testArray = Utils.ParseFile(Utils.InputLoopFilePath("Input some files path:")); Sorting.SortArray(testArray); Console.WriteLine(); Utils.WriteArray(testArray, "Sorted", 7); Utils.WriteArrayTree(testArray, "Sorted", 5); Console.WriteLine("Comparisons: {0}", Sorting.Instance.Comparisons); Console.WriteLine("Swaps: {0}", Sorting.Instance.Swaps); }
public static void TestSorting() { float[] testArray = Utils.RandomArray(100); float[] sortedTestArray = new float[100]; Utils.CopyArray(testArray, sortedTestArray, testArray.Length); Sorting.SortArray(sortedTestArray); Console.Clear(); Utils.WriteArray(testArray, "Unsorted", 7); Console.WriteLine(); Utils.WriteArray(sortedTestArray, "Sorted", 7); }
static void Main(string[] args) { bool isInNoneStandardMode = false; for (int i = 0; i < args.Length; i++) { switch (args[i]) { case "-benchmark": isInNoneStandardMode = true; Benchmark(); break; case "-testSearching": isInNoneStandardMode = true; TestSearching(); break; case "-testSlowSort": isInNoneStandardMode = true; TestSlowSort(); break; case "-testSorting": isInNoneStandardMode = true; TestSorting(); break; case "-testSorting2": isInNoneStandardMode = true; TestSorting2(); break; } } if (isInNoneStandardMode == false) { while (true) { string[] files = GetFiles(); for (int i = 0; i < files.Length; i++) { Console.Clear(); Console.WriteLine("Reading File: {0}", Path.GetFileNameWithoutExtension(files[i])); float[] values = Utils.ParseFile(files[i]); if (Utils.InputLoop(@"Would you like to merge multiple files for this search: 0 - Yes 1 - No")) { while (true) { List <int> indexs = new List <int>(); string message = string.Format("Which files would you like to merge with {0}:", Path.GetFileNameWithoutExtension(files[i])); for (int x = i + 1; x < files.Length; x++) { indexs.Add(x); message += string.Format("\n\t{0} - {1}", x, Path.GetFileNameWithoutExtension(files[x])); } int choice = Utils.InputLoop(message, indexs.ToArray()); values = Utils.ParseMergeFiles(values, files[choice]); if (!Utils.InputLoop(@"Would you like to merge another file: 0 - Yes 1 - No")) { break; } } } Utils.ConsoleHang(); Console.Clear(); arrayPrintingChoice = Utils.InputLoop(ARRAY_PRINTING_SELECTION, ARRAY_PRINTING_I); #region Sort float[] sortingValues = new float[values.Length]; int sortingComparisonsChoice = Utils.InputLoop(SORTING_COMPARE_SELECTION, Utils.YES_NO_I); switch (sortingComparisonsChoice) { case Utils.YES: List <SortingStatistics> sortingStatistics = new List <SortingStatistics>(); while (true) { Utils.CopyArray(values, sortingValues, values.Length); Sorting.SortArray(sortingValues); sortingStatistics.Add(Sorting.Instance.GetStatistics); ArrayPrinting(sortingValues, arrayPrintingChoice, Path.GetFileNameWithoutExtension(files[i])); Console.WriteLine(); Utils.WriteLastStatisticsSort(); Utils.ConsoleHang(); Console.Clear(); if (!Utils.InputLoop(SORTING_AGAIN_SELECTION)) { break; } } // Compare Sorts foreach (SortingStatistics stats in sortingStatistics) { Utils.WriteLastStatisticsSort(); Console.WriteLine(); } Utils.ConsoleHang(); Console.Clear(); break; case Utils.NO: Utils.CopyArray(values, sortingValues, values.Length); Sorting.SortArray(sortingValues); ArrayPrinting(sortingValues, arrayPrintingChoice, Path.GetFileNameWithoutExtension(files[i])); Console.WriteLine(); Utils.WriteLastStatisticsSort(); Utils.ConsoleHang(); Console.Clear(); break; default: break; } Utils.ConsoleHang(); Console.Clear(); #endregion #region SearchArray int searchComparisonsChoice = Utils.InputLoop(SEARCHING_COMPARE_SELECTION, Utils.YES_NO_I); switch (searchComparisonsChoice) { case Utils.YES: List <SearchingStatistics> searchingStatistics = new List <SearchingStatistics>(); while (true) { Searching.SearchArray(sortingValues); Utils.WriteLastStatisticsSearch(); searchingStatistics.Add(Searching.Instance.GetStatistics); Utils.ConsoleHang(); Console.Clear(); if (Utils.InputLoop(KEEP_SEARCHING_SELECTION)) { break; } } Console.Clear(); foreach (SearchingStatistics stats in searchingStatistics) { Utils.WriteStatisticsSearch(stats); Console.WriteLine(); } Console.Clear(); break; case Utils.NO: while (true) { Searching.SearchArray(sortingValues); Utils.WriteLastStatisticsSearch(); Utils.ConsoleHang(); Console.Clear(); if (Utils.InputLoop(KEEP_SEARCHING_SELECTION)) { break; } } break; default: break; } Utils.ConsoleHang(); Console.Clear(); #endregion if (Utils.InputLoop(LOAD_DIFFERENT_FILES_SELECTION)) { break; } } } } // Make the console hang till user input. Console.WriteLine("Press any key to exit..."); Console.ReadKey(); }