Сравнить время сортировки массива - 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д