Добавление времени сортировки - 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()); //Выводим результат