Guest User

Untitled

a guest
Dec 19th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. public static void mergeSort(int[] a, int n) {
  2. if (n < 2) {
  3. return;
  4. }
  5. int mid = n / 2;
  6. int[] l = new int[mid];
  7. int[] r = new int[n - mid];
  8.  
  9. for (int i = 0; i < mid; i++) {
  10. l[i] = a[i];
  11. }
  12. for (int i = mid; i < n; i++) {
  13. r[i - mid] = a[i];
  14. }
  15. mergeSort(l, mid);
  16. mergeSort(r, n - mid);
  17.  
  18. merge(a, l, r, mid, n - mid);
  19. }
  20.  
  21. public static void merge(
  22. int[] a, int[] l, int[] r, int left, int right) {
  23.  
  24. int i = 0, j = 0, k = 0;
  25. while (i < left && j < right) {
  26. if (l[i] <= r[j]) {
  27. a[k++] = l[i++];
  28. }
  29. else {
  30. a[k++] = r[j++];
  31. }
  32. }
  33. while (i < left) {
  34. a[k++] = l[i++];
  35. }
  36. while (j < right) {
  37. a[k++] = r[j++];
  38. }
  39. }
Add Comment
Please, Sign In to add comment