Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
 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();
     }
 }
Exemplo n.º 3
0
        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();
        }