public static void Sort(this int[][] sourceArray, ISortArray sorter) { for (int i = 0; i < sourceArray.Length - 1; i++) for (int j = 0; j < sourceArray.Length - i - 1; j++) { if (sorter.CompareCriterion(sourceArray[j], sourceArray[j + 1]) > 0) { int[] temp = (int[])sourceArray[j].Clone(); sourceArray[j] = sourceArray[j + 1]; sourceArray[j + 1] = temp; } } }
/// <summary> /// Сортирует массив и выводи количество времени затраченное на сортировку в секундах /// </summary> /// <param name="arr">какой массив сортировать</param> /// <param name="message">сообщение которое выведется на экран вместе со временем</param> private void SortArr(ISortArray <long> arr, string message) { DateTime now; DateTime end; now = DateTime.Now; arr.Sort(); end = DateTime.Now; TimeSpan span = end - now; Console.WriteLine(message + ": " + span.TotalSeconds); }