Определение времени выполнения алгоритма быстрой сортировки - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток всем, прошу помощи, не могу понять в чем проблема и как ее решить. Нужно определить время выполнения алгоритма, оно определяется но очень много раз. Как это можно исправить?
Листинг программы
  1. namespace Быстрая_сортировка
  2. {
  3. class QuickSorting
  4. {
  5. public static void sorting(int[] arr, long first, long last)
  6. {
  7. var stopwatch = System.Diagnostics.Stopwatch.StartNew();
  8. int p = arr[(last - first) / 2 + first];
  9. int temp;
  10. long i = first, j = last;
  11. while (i <= j)
  12. {
  13. while (arr[i] < p) i++;
  14. while (arr[j] > p) j--;
  15. if (i <= j)
  16. {
  17. temp = arr[i];
  18. arr[i] = arr[j];
  19. arr[j] = temp;
  20. i++; j--;
  21. }
  22. }
  23. if (j > first)
  24. sorting(arr, first, j);
  25. if (i < last)
  26. sorting(arr, i, last);
  27. stopwatch.Stop();
  28. Console.WriteLine("Время выполнения алгоритма:" +stopwatch.Elapsed);
  29. }
  30. }
  31.  
  32. class Test
  33. {
  34. static void Main(string[] args)
  35. {
  36. Console.WriteLine("Введите размерность");
  37. int N = Convert.ToInt32(Console.ReadLine());
  38. int[] arr = new int[N];
  39. //заполняем массив случайными числами
  40. Random rd = new Random();
  41. for (int i = 0; i < arr.Length; ++i)
  42. {
  43. arr[i] = rd.Next(1, 101);
  44. }
  45. Console.WriteLine("Массив перед сортировкой:");
  46. foreach (int x in arr)
  47. {
  48. Console.Write(x + " ");
  49. }
  50. //сортировка
  51. Console.WriteLine();
  52. QuickSorting.sorting(arr, 0, arr.Length - 1);
  53. Console.WriteLine("Массив отсортирован:");
  54. foreach (int x in arr)
  55. {
  56. Console.Write(x + " ");
  57. }
  58. Console.WriteLine();
  59. Console.WriteLine("Нажмите <<Enter>> для выхода");
  60. Console.ReadLine();
  61. }
  62. }
  63. }
вот результат:

Решение задачи: «Определение времени выполнения алгоритма быстрой сортировки»

textual
Листинг программы
  1.             var stopwatch = System.Diagnostics.Stopwatch.StartNew();
  2.             ...
  3.             stopwatch.Stop();
  4.             Console.WriteLine("Время выполнения алгоритма:" +stopwatch.Elapsed);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут