Сравнить время сортировки массива - C#
Формулировка задачи:
Доброго времени суток.
Необходимо сравнить два метода сортировки массива.
Решение написал, но вот в ответе почему то выходит время с минусом.
Пример:
1) -449мс;
2) 150мс;
3) 1мс.
Не могу понять почему так происходит.
Если кто сталкивался, подскажите пожалуйста в чем причина вывода отрицательного времени.
Спасибо.
class Program { static void Main(string[] args) { Sort sort = new Sort(); int size = 10000; double[] array = sort.getRandomArray(size); long time = DateTime.Now.Millisecond; sort.bubbleSort(array); Console.WriteLine("Сортировка пузырьком заняла: {0} мс", (DateTime.Now.Millisecond - time)); array = sort.getRandomArray(size); time = DateTime.Now.Millisecond; sort.insertionSort(array); Console.WriteLine("Сортировка вставками заняла: {0} мс", (DateTime.Now.Millisecond - time)); array = sort.getRandomArray(size); time = DateTime.Now.Millisecond; Array.Sort(array); Console.WriteLine("Сортировка методом Array.Sort(array) заняла: {0} мс ", (DateTime.Now.Millisecond - time)); Console.ReadLine(); } } class Sort { public double[] getRandomArray(int size) { Random n = new Random(); double[] array = new double[size]; for (int i = 0; i < array.Length; i++) { array[i] = n.Next(0, size); } return array; } public void bubbleSort(double[] array) { double temp = 0; for (int i = 0; i < array.Length; i++) { for (int j = 1; j < array.Length - i; j++) { if (array[j - 1] > array[j]) { temp = array[j - 1]; array[j - 1] = array[j]; array[j] = temp; } } } } public void insertionSort(double[] array) { for(int i = 1; i<array.Length; i++) { double currElem = array[i]; int prevKey = i - 1; while(prevKey >=0 && array[prevKey]>currElem) { array[prevKey + 1] = array[prevKey]; prevKey--; } array[prevKey + 1] = currElem; } } }
Решение задачи: «Сравнить время сортировки массива»
textual
Листинг программы
Console.WriteLine("Сортировка пузырьком заняла: {0} мс", (DateTime.Now - time).TotalMilliseconds);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д