Advertisement
canezzy

java merge

Apr 1st, 2018
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. private int[] merge(int[] arr, int lower, int upper)
  2. {
  3. if (lower == upper)
  4. {
  5. return arr;
  6. }
  7. int mid = (lower + upper) >> 1;
  8. merge(arr, lower, mid);
  9. merge(arr, mid + 1, upper);
  10. return mergeArrays(arr, lower, mid + 1, upper + 1);
  11. }
  12.  
  13. private int[] mergeArrays(int[] arr, int lower, int mid, int upper)
  14. {
  15. int temp = mid;
  16. int i = 0;
  17. for (; lower < temp && mid < upper; )
  18. {
  19. if (arr[lower] < arr[mid])
  20. {
  21. lower++;
  22. }
  23. else
  24. {
  25. swap(arr, mid, lower);
  26. mid++;
  27. }
  28. i++;
  29. }
  30. return arr;
  31. }
  32.  
  33. private void swap(int[] arr, int i, int j)
  34. {
  35. int temp = arr[i];
  36. arr[i] = arr[j];
  37. arr[j] = temp;
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement