示例#1
0
 static void TestMergeSort()
 {
     int[] array = GetArray();
     Console.WriteLine("Отсортированный массив");
     PrintArray(ArraySortMethods.MergeSort(array));
     PrintCounters(String.Empty);
 }
示例#2
0
        static void TestBlockSort()
        {
            int[] array          = GetArray();
            int   numberOfBlocks = GetInt(
                $"Введите количество блоков для сортировки",
                min: 0);

            array = ArraySortMethods.BlockSort(array, numberOfBlocks, debug: false);
            PrintArray(array);
            PrintCounters(String.Empty);
        }
示例#3
0
        static void TestSort()
        {
            int[]  array = new int[1000];
            Random rnd   = new Random();

            for (int i = 0; i < array.Length; i++)
            {
                array[i] = i;
            }

            array = ArraySortMethods.BlockSort(array, 100, debug: false);
            PrintCounters(
                "Блочная сортировка упорядоченного массива из 1000 единиц, 100 блоков: ");

            Array.Reverse(array);
            array = ArraySortMethods.BlockSort(array, 100, debug: false);
            PrintCounters(
                "Блочная сортировка обратно упорядоченного массива из 1000 единиц, 100 блоков: ");

            for (int i = 0; i < array.Length; i++)
            {
                array[i] = rnd.Next(0, 1000);
            }
            array = ArraySortMethods.BlockSort(array, 100, debug: false);
            PrintCounters(
                "Блочная сортировка неупорядоченного массива из 1000 единиц, 100 блоков: ");

            for (int i = 0; i < array.Length; i++)
            {
                array[i] = i;
            }
            array = ArraySortMethods.BlockSort(array, 1000, debug: false);
            PrintCounters(
                "Блочная сортировка упорядоченного массива из 1000 единиц, 1000 блоков: ");

            Array.Reverse(array);
            array = ArraySortMethods.BlockSort(array, 1000, debug: false);
            PrintCounters(
                "Блочная сортировка обратно упорядоченного массива из 1000 единиц, 1000 блоков: ");

            for (int i = 0; i < array.Length; i++)
            {
                array[i] = rnd.Next(0, 1000);
            }
            array = ArraySortMethods.BlockSort(array, 1000, debug: false);
            PrintCounters(
                "Блочная сортировка неупорядоченного массива из 1000 единиц, 1000 блоков: ");

            for (int i = 0; i < array.Length; i++)
            {
                array[i] = i;
            }
            array = ArraySortMethods.MergeSort(array);
            PrintCounters(
                "Сортировка слиянием упорядоченного массива из 1000 единиц: ");

            Array.Reverse(array);
            array = ArraySortMethods.MergeSort(array);
            PrintCounters(
                "Сортировка слиянием обратно упорядоченного массива из 1000 единиц: ");

            for (int i = 0; i < array.Length; i++)
            {
                array[i] = rnd.Next(0, 1000);
            }
            array = ArraySortMethods.MergeSort(array);
            PrintCounters(
                "Сортировка слиянием неупорядоченного массива из 1000 единиц: ");
        }