示例#1
0
        public void AssertCorrectSorting()
        {
            int[] arrayToSort    = new int[] { 1, 2, 3, 0, 42, 12, 85, -54 };
            int[] expectedResult = new int[] { -54, 0, 1, 2, 3, 12, 42, 85 };
            BubbleSortClass.BubbleSort <int>(arrayToSort);

            bool areEqual = Enumerable.SequenceEqual(expectedResult, arrayToSort);

            Assert.AreEqual(true, areEqual);
        }
示例#2
0
 public async void RunSort()
 {
     if (bubbleSort)
     {
         bubbleSort = false;
         BubbleSortClass bubbleSortClass = new BubbleSortClass();
         await bubbleSortClass.BubbleSort(arr);
     }
     if (mergeSort)
     {
         mergeSort = false;
     }
 }
示例#3
0
        static void Main(string[] args)
        {
            ArrayClass array = new ArrayClass(100000);

            array.SetRandomArray(0, 100);
            //array.ShowArray();

            #region Сортировка пузырьком

            BubbleSortClass.DoSort(ref array);
            //array.ShowArray();
            array.ResetArray();

            Console.WriteLine(
                $"Сортировка пузырьком: {BubbleSortClass.GetTime.ElapsedMilliseconds,5} миллисекунд");

            #endregion

            #region Шейкерная сортировка

            ShakerSortClass.DoSort(ref array);
            //array.ShowArray();
            array.ResetArray();

            Console.WriteLine($"Шейкерная сортировка: {ShakerSortClass.GetTime.ElapsedMilliseconds,5} миллисекунд");

            #endregion

            #region Сортировка вставками

            InsertionSortClass.DoSort(ref array);
            //array.ShowArray();
            array.ResetArray();

            Console.WriteLine($"Сортировка вставками: {InsertionSortClass.GetTime.ElapsedMilliseconds,5} миллисекунд");

            #endregion

            #region Быстрая сортировка

            Stopwatch timer = new Stopwatch();
            timer.Start();
            QuickSortClass.DoSort(ref array, 0, array.Size - 1);
            timer.Stop();
            //array.ShowArray();
            array.ResetArray();

            Console.WriteLine($"Быстрая сортировка: {timer.ElapsedMilliseconds,5} миллисекунд");

            #endregion

            #region Пирамидальная сортировка

            HeapSortClass.DoSort(ref array);
            //array.ShowArray();
            array.ResetArray();

            Console.WriteLine($"Пирамидальная сортировка: {HeapSortClass.GetTime.ElapsedMilliseconds,5} миллисекунд");

            #endregion

            Console.ReadLine();
        }
示例#4
0
 public void BubbleSortTest_ArgumentExeption(int[,] matrix, int[,] expectedResult, SortType sortType, SortDirection sortDirection)
 {
     Assert.That(() => BubbleSortClass.Sort(matrix, sortType, sortDirection), Throws.TypeOf <ArgumentException>());
 }
示例#5
0
 public void BubbleSortTest(int[,] matrix, int[,] expectedResult, SortType sortType, SortDirection sortDirection)
 {
     int[,] result = BubbleSortClass.Sort(matrix, sortType, sortDirection);
     Assert.IsTrue(BubbleSortClass.Compare(result, expectedResult));
 }
示例#6
0
 public void BubbleSort_Delegate_Descending_Test(int[,] matrix, int[,] expectedResult, SortType sortType)
 {
     int[,] result = BubbleSortClass.Sort(matrix, sortType, (x, y) => x < y);
     Assert.IsTrue(BubbleSortClass.Compare(result, expectedResult));
 }