Advertisement
Guest User

Untitled

a guest
Nov 14th, 2019
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Sorting
  4. {
  5. class Program
  6. {
  7. static int n;
  8. static int[] a;
  9.  
  10. static int[] help;
  11. static void Merge(int l, int middle, int r)
  12. {
  13. for(int i = l; i <= r; i++)
  14. {
  15. help[i] = a[i];
  16. }
  17.  
  18. int left = l;
  19. int right = middle + 1;
  20. int k = l;
  21.  
  22. while(left <= middle && right <= r)
  23. {
  24. if (help[left] < help[right])
  25. {
  26. a[k++] = help[left];
  27. left++;
  28. }
  29. else
  30. {
  31. a[k++] = help[right];
  32. right++;
  33. }
  34. }
  35. while(left <= middle)
  36. {
  37. a[k++] = help[left];
  38. left++;
  39. }
  40. while(right <= r)
  41. {
  42. a[k++] = help[right];
  43. right++;
  44. }
  45. }
  46.  
  47. static void Merge_Sort(int l, int r)
  48. {
  49. if (l >= r) return;
  50.  
  51. int middle = (l + r) / 2;
  52.  
  53. Merge_Sort(l, middle);
  54. Merge_Sort(middle + 1, r);
  55. Merge(l, middle, r);
  56. }
  57.  
  58. static void Main(string[] args)
  59. {
  60. n = int.Parse(Console.ReadLine());
  61.  
  62. a = new int[n];
  63. help = new int[n];
  64.  
  65. for(int i = 0; i < n; i++)
  66. {
  67. a[i] = int.Parse(Console.ReadLine());
  68. }
  69.  
  70. Merge_Sort(0, n - 1);
  71.  
  72. Console.WriteLine();
  73. for(int i = 0; i < n; i++)
  74. {
  75. Console.Write(a[i] + " ");
  76. }
  77. }
  78. }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement