Example #1
0
        public void QuickSort_Test()
        {
            double[] array = { -6.2, 5.82, -11.56, 13.34, 1.8, 2.98, -13.46, 4.34, 0.0 };
            _sortingContext.SetAlgorithm(new QuickSortAlgorithm <double>(array));
            _sortingContext.Sort();

            CollectionAssert.AreEquivalent(new[] { -13.46, -11.56, -6.2, 0.0, 1.8, 2.98, 4.34, 5.82, 13.34 }, array);
            CollectionAssert.AreEquivalent(new[] { 0 }, new[] { 0 });
        }
Example #2
0
        public void QuickSort_Test()
        {
            int[] array = { -2, 5, -1, 3, 1, 2, -3, 4, 0 };
            _sortingContext.SetAlgorithm(new QuickSortAlgorithm <int>(array));
            _sortingContext.Sort();

            CollectionAssert.AreEquivalent(new[] { -3, -2, -1, 0, 1, 2, 3, 4, 5 }, array);
            CollectionAssert.AreEquivalent(new[] { 0 }, new[] { 0 });
        }
Example #3
0
        static void Main(string[] args)
        {
            DateTime       startingTime, endTime;
            SortingContext sortingContext;
            List <int>     sortedList = new List <int>();
            List <int>     list       = new List <int>
            {
                45, 6, 87, 2, 43, 6, 87, 23, 54, 88, 25, 13, 15, 97, 34, 42, 12, 52, 88, 61, 40, 20, 10, 50
            };

            //BubbleSort
            sortingContext = new SortingContext(new BubbleSortStrategy());
            sortedList     = new List <int>();
            startingTime   = DateTime.Now;
            sortedList     = sortingContext.Sort(list);
            endTime        = DateTime.Now;
            Console.WriteLine("BubbleSort");
            Helper.WriteConsole(sortedList);
            Console.WriteLine("Çalışma Zamanı: " + (endTime.Millisecond - startingTime.Millisecond).ToString() + " ms");

            //QuickSort
            sortingContext = new SortingContext(new QuickSortStrategy());

            startingTime = DateTime.Now;
            sortedList   = sortingContext.Sort(list);
            endTime      = DateTime.Now;
            Console.WriteLine("QuickSort");
            Helper.WriteConsole(sortedList);
            Console.WriteLine("Çalışma Zamanı: " + (endTime.Millisecond - startingTime.Millisecond).ToString() + " ms");

            //InsertionSort
            sortingContext = new SortingContext(new InsertionSortStrategy());

            startingTime = DateTime.Now;
            sortedList   = sortingContext.Sort(list);
            endTime      = DateTime.Now;
            Console.WriteLine("InsertionSort");
            Helper.WriteConsole(sortedList);
            Console.WriteLine("Çalışma Zamanı: " + (endTime.Millisecond - startingTime.Millisecond).ToString() + " ms");

            Console.ReadLine();
        }
Example #4
0
        static void Main(string[] args)
        {
            int[] array1Int32 = { -2, 5, -1, 3, 1, 2, -3, 4, 0 };
            int[] array2Int32 = { -8, 5, -1, 33, 81, -2, -3, 4, 0 };

            double[] array1Double = { -6.2, 5.82, -11.56, 13.34, 1.8, 2.98, -13.46, 4.34, 0.0 };
            double[] array2Double = { -18.34, 25.245, -31.3, 33.53, 81.535, -12.13, -3.04, 4.532, 0.1353 };

            //SortingContext<int> sortingContext = new SortingContext<int>(new QuickSortAlgorithm<int>(SortingAlgorithm<int>.CreateRandomArray(20000000))); // ~6000 ms
            SortingContext <int>    sortingContextInt32  = new SortingContext <int>(new QuickSortAlgorithm <int>(array1Int32));
            SortingContext <double> sortingContextDouble = new SortingContext <double>(new QuickSortAlgorithm <double>(array1Double));

            Stopwatch sw = new Stopwatch();

            #region Int32 Sorting
            Console.WriteLine("Quicksort(Int32):");
            sw.Start();
            sortingContextInt32.Sort();
            sw.Stop();
            sortingContextInt32.Show();

            Console.WriteLine($"\nTotal time: {sw.Elapsed.TotalMilliseconds.ToString("0.00 ms")}");

            sw.Reset();
            Console.WriteLine();

            Console.WriteLine("Mergesort(Int32):");
            //sortingContext.SetAlgorithm<int>(new MergeSortAlgorithm<int>(SortingAlgorithm<int>.CreateRandomArray(20000000))); // ~11000 ms
            sortingContextInt32.SetAlgorithm(new MergeSortAlgorithm <int>(array2Int32));

            sw.Start();
            sortingContextInt32.Sort();
            sw.Stop();
            sortingContextInt32.Show();

            Console.WriteLine($"\nTotal time: {sw.Elapsed.TotalMilliseconds.ToString("0.00 ms")}");
            #endregion
            Console.WriteLine("*****************************");
            #region Double Sorting
            sw.Reset();
            Console.WriteLine("Quicksort(Double):");
            sw.Start();
            sortingContextDouble.Sort();
            sw.Stop();
            sortingContextDouble.Show();

            Console.WriteLine($"\nTotal time: {sw.Elapsed.TotalMilliseconds.ToString("0.00 ms")}");

            sw.Reset();
            Console.WriteLine();

            Console.WriteLine("Mergesort(Double):");
            //sortingContext.SetAlgorithm<double>(new MergeSortAlgorithm<double>(SortingAlgorithm<double>.CreateRandomArray(20000000))); // ~11000 ms
            sortingContextDouble.SetAlgorithm(new MergeSortAlgorithm <double>(array2Double));

            sw.Start();
            sortingContextDouble.Sort();
            sw.Stop();
            sortingContextDouble.Show();

            Console.WriteLine($"\nTotal time: {sw.Elapsed.TotalMilliseconds.ToString("0.00 ms")}");
            #endregion
            Console.ReadLine();
        }