static void testSortAlgorithms() { //int[] A = Generator.GenerateNumberArray(10,0,100); int[] A = new int[] { 3, 7, 8, 5, 2, 1, 9, 6, 4 }; // WriteLine("[{0}]", string.Join(", ", A)); // QuickSortAlgorithm alg = new QuickSortAlgorithm(); // alg.quickSort(A,0,A.Length-1); // WriteLine("[{0}]", string.Join(", ", A)); WriteLine("[{0}]", string.Join(", ", A)); MergeSort alg = new MergeSort(); int[] B = new int[A.Length]; alg.TopDownMergeSort(A, B, A.Length); WriteLine("[{0}]", string.Join(", ", B)); }
static void Main(string[] args) { int[] dimensioni = { 10, 20, 50, 100, 500, 1000, 5000, 10000, 15000, 20000, 25000, 30000 }; using (StreamWriter w = new StreamWriter("start.csv", false, Encoding.UTF8)) { w.WriteLine("Algoritmo;Dimensione;Tempo"); foreach (int dim in dimensioni) { int[] array = new int[dim]; Random r = new Random(); for (int i = 0; i < dim; i++) { array[i] = r.Next(0, 100); } Stopwatch s = new Stopwatch(); s.Start(); BubbleSort.Ordinamento(array); s.Stop(); long elapsed = s.ElapsedMilliseconds; w.WriteLine($"Bubble Sort;{dim};{elapsed}"); Console.WriteLine($"Bubble Sort;{dim};{elapsed}"); } foreach (int dim in dimensioni) { int[] array = new int[dim]; Random r = new Random(); for (int i = 0; i < dim; i++) { array[i] = r.Next(0, 100); } Stopwatch s = new Stopwatch(); s.Start(); InsertSort.Ordinamento(array); s.Stop(); long elapsed = s.ElapsedMilliseconds; w.WriteLine($"Insertion Sort;{dim};{elapsed}"); Console.WriteLine($"Insertion Sort;{dim};{elapsed}"); } foreach (int dim in dimensioni) { int[] array = new int[dim]; Random r = new Random(); for (int i = 0; i < dim; i++) { array[i] = r.Next(0, 100); } Stopwatch s = new Stopwatch(); s.Start(); SelectionSort.Ordinamento(array); s.Stop(); long elapsed = s.ElapsedMilliseconds; w.WriteLine($"Selection Sort;{dim};{elapsed}"); Console.WriteLine($"Selection Sort;{dim};{elapsed}"); } foreach (int dim in dimensioni) { int[] array = new int[dim]; Random r = new Random(); for (int i = 0; i < dim; i++) { array[i] = r.Next(0, 100); } Stopwatch s = new Stopwatch(); s.Start(); MergeSort.mergeSort(array); s.Stop(); long elapsed = s.ElapsedMilliseconds; w.WriteLine($"Merge Sort;{dim};{elapsed}"); Console.WriteLine($"Merge Sort;{dim};{elapsed}"); } foreach (int dim in dimensioni) { int[] array = new int[dim]; Random r = new Random(); for (int i = 0; i < dim; i++) { array[i] = r.Next(0, 100); } Array.Sort(array); Stopwatch s = new Stopwatch(); s.Start(); QuickSort.Ordinamento(array); s.Stop(); long elapsed = s.ElapsedMilliseconds; w.WriteLine($"Quick Sort;{dim};{elapsed}"); Console.WriteLine($"Quick Sort;{dim};{elapsed}"); } w.Flush(); } }
static void Main(string[] args) { Console.Write("Do you want to generate file?(y/n): "); String genFile = Console.ReadLine(); String FileEncod; if (genFile == "y") { Console.Write("Enter file path: "); String genFilePath = Console.ReadLine(); Console.Write("Enter file encoding Unicode/MBSC/UTF-16: "); FileEncod = Console.ReadLine(); if (FileEncod == "Unicode") { TextFileGenerator.GenerateTextFile(genFilePath, 1_000_000_000, System.Text.Encoding.UTF8); } else if (FileEncod == "MBSC") { TextFileGenerator.GenerateTextFile(genFilePath, 500_000_000, System.Text.Encoding.BigEndianUnicode); } else if (FileEncod == "UTF-16") { TextFileGenerator.GenerateTextFile(genFilePath, 500_000_000, System.Text.Encoding.Unicode); } else { Console.WriteLine("Incorrect Encoding type"); Console.Write("Press any key to exit..."); Console.ReadLine(); Environment.Exit(0); } } Console.Write("Enter sort file path: "); String filepath = Console.ReadLine(); Console.Write("Enter sort type(\"as\" for ascending and \"des\" for descending): "); String sortType = Console.ReadLine(); Boolean isAscending = true; if (sortType == "as") { isAscending = true; } else if (sortType == "des") { isAscending = false; } else { Console.WriteLine("Incorrect sort type"); Console.Write("Press any key to exit..."); Console.ReadLine(); Environment.Exit(0); } //String textFilePath = @"D:\Test\test.tmp"; String tempPath = @"D:\Test\Temp"; Console.WriteLine("Sort..."); MergeSort mergeSorter = new MergeSort(); //Console.Write("Enter file encoding Unicode/MBSC/UTF-16: "); //FileEncod = Console.ReadLine(); //if (FileEncod == "Unicode") // mergeSorter.Sort(filepath, isAscending, 50_000_000, tempPath); //else if (FileEncod == "MBSC") // mergeSorter.Sort(filepath, isAscending, 50_000_000, tempPath, 16); //else if (FileEncod == "UTF-16") // mergeSorter.Sort(filepath, isAscending, 50_000_000, tempPath, 16); mergeSorter.Sort(filepath, isAscending, 50_000_000, tempPath); Console.Write("Press any key to exit..."); Console.ReadLine(); }