Advertisement
Guest User

Untitled

a guest
May 27th, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace tims6Olga
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. int[] arr = new int[6000000];
  14. Random rd = new Random();
  15.  
  16.  
  17. for (int i = 0; i < arr.Length; ++i)
  18. {
  19. arr[i] = rd.Next(0, 100);
  20. }
  21.  
  22. for (int i = 0; i < 3; i++)
  23. {
  24. Sort(arr, min(arr), max(arr));
  25. }
  26.  
  27. for (int i = 0; i < 10; i++)
  28. {
  29. Sort(arr, min(arr), max(arr));
  30. }
  31.  
  32.  
  33. Console.ReadLine();
  34.  
  35. }
  36.  
  37. private static int min(int[] arr)
  38. {
  39. int min = Int32.MaxValue;
  40. foreach (var buf in arr)
  41. {
  42. if (buf < min)
  43. {
  44. min = buf;
  45. }
  46. }
  47.  
  48. return min;
  49. }
  50.  
  51. private static int max(int[] arr)
  52. {
  53. int max = Int32.MinValue;
  54. foreach (var buf in arr)
  55. {
  56. if (buf > max)
  57. {
  58. max = buf;
  59. }
  60. }
  61.  
  62. return max;
  63. }
  64. private static void Sort(int[] arr, int min, int max)
  65. {
  66. var startTime = System.Diagnostics.Stopwatch.StartNew();
  67.  
  68. int[] count = new int[max - min + 1];
  69. int z = 0;
  70.  
  71. for (int i = 0; i < count.Length; i++)
  72. {
  73. count[i] = 0;
  74. }
  75.  
  76. for (int i = 0; i < arr.Length; i++)
  77. {
  78. count[arr[i] - min]++;
  79. }
  80.  
  81. for (int i = min; i <= max; i++)
  82. {
  83. while (count[i - min]-- > 0)
  84. {
  85. arr[z] = i;
  86. z++;
  87. }
  88. }
  89.  
  90. var resultTime = startTime.Elapsed;
  91.  
  92. string elapsedTime = String.Format("{0:00}.{1:000}",
  93. resultTime.Seconds,
  94. resultTime.Milliseconds);
  95. Console.WriteLine("Timea = " + elapsedTime);
  96.  
  97. }
  98. }
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement