Добавление времени сортировки - C#
Формулировка задачи:
Доброго времени суток. Я начинающий. Столкнулся с проблемой, не могу разобраться никак со вставкой таймеров. Мне необходимо вставить время обработки цикла сортировки массива после каждой операции. Сами сортировки честно стырены с инета, но в них я разобрался. А вот время их выполнения ну никак не даются и мануалы не помогают.
Вот мой код:
Прошу помощи, желательно с пояснениями. Заранее благодарен.
namespace Sorting { internal class Program { private static void Main(string[] args) { test(); Console.ReadKey(); } private static void test() { int[] a = gen_array(1000); Console.Write("{0, 10}","Случайный массив : "); print(a); selection_sort(a); Console.Write("{0, 10}", "Сортировка выбором: "); print(a); //Console.Write("{0, 10}", "Время:"); insert_sort(a); Console.Write("{0, 10}", "Сортировка вставками: "); print(a); } private static void print(int[] a) { Array.ForEach(a, item => Console.Write("{0} ", item)); Console.WriteLine(); } private static int[] gen_array(int len) { var array = new int[len]; var r = new Random((int)DateTime.Now.Ticks & 0x0000FFFF); for (int i = 0; i < array.Length; ++i) { array[i] = r.Next(0, 10000); } return array; } * * * * private static void insert_sort(int[] a) { for (int i = 1; i < a.Length; ++i) { for (int j = i; j > 0 && a[j] < a[j - 1]; --j) { swap(ref a[j], ref a[j - 1]); } } } * * * * private static void selection_sort(int[] a) { DateTime old2 = DateTime.Now; for (int i = 0; i < a.Length - 1; ++i) { int min = i; for (int j = i + 1; j < a.Length; ++j) { if (a[j] < a[min]) min = j; } if (min != i) swap(ref a[i], ref a[min]); } } private static void swap(ref int a1, ref int a2) { int t = a1; a1 = a2; a2 = t; } } }
Извиняюсь, немного промахнулся веткой форума.
Решение задачи: «Добавление времени сортировки»
textual
Листинг программы
System.Diagnostics.Stopwatch myStopwatch = new System.Diagnostics.Stopwatch(); //Создаём метку времени myStopwatch.Start(); //Говорим, что вот с этой строки надо считать время Thread.Sleep(1000); //Задержка просто для примера, на месте этой строки должен быть код myStopwatch.Stop(); //Говорим, что с этой строки надо перестать считать время Console.WriteLine(myStopwatch.Elapsed.ToString()); //Выводим результат
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д