Exemplo n.º 1
0
 /// <summary>
 /// Подсчитать время. затраченное на кол-во операций.
 /// </summary>
 /// <param name="sorting">Алгоритм сортировки.</param>
 /// <param name="data">Данные для сортировки.</param>
 /// <param name="operationCount">Кол-во операций для измерения времени.</param>
 /// <returns></returns>
 private static long getRunMilliseconds(ISorting sorting, int []data, int operationCount)
 {
     SortCore sortCore = new SortCore(sorting, null);
     System.Diagnostics.Stopwatch swatch = new System.Diagnostics.Stopwatch();
     swatch.Start();
     for (int i = 0; i <= operationCount; i++)
     {
         sortCore.process(data);
     }
     swatch.Stop();
     return swatch.ElapsedMilliseconds;
 }
Exemplo n.º 2
0
        /// <summary>
        /// ТОчка входа в программу.
        /// </summary>
        /// <param name="args"></param>
        static void Main(string[] args)
        {
            /// Кол-во операций для измерения времени.
            const int operationCount = 10000000;
            /// Создание класса для вывода на консоль.
            var view = new ConsoleView();
            /// Создание логики сортировки с алгоритмом гномьей сортировки и выводом на консоль.
            var sortCore = new SortCore(new GnomeSorting(), view);
            /// Взять массив случайных значений.
            int[] data = getRandomedArray();
            /// Произвести сортировку
            sortCore.process(data);

            /// Вывод времени, затраченного на определенное кол-во раз проходов определенного алгоритма.
            view.setText("\n");
            view.setText("Время, затраченное на выполнение " + System.Convert.ToString(operationCount) + " операций методом:");
            view.setText("Гномьей сортировки:");
            view.setText(System.Convert.ToString(getRunMilliseconds(new GnomeSorting(), data, operationCount) + "мс"));
            view.setText("Пузырьковой:");
            view.setText(System.Convert.ToString(getRunMilliseconds(new BubbleSorting(), data, operationCount) + "мс"));
            view.setText("Вставками:");
            view.setText(System.Convert.ToString(getRunMilliseconds(new InsertionSorting(), data, operationCount) + "мс"));
            view.setPause();
        }