Advertisement
Dimitar182

merge methods

Dec 18th, 2020
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. package merge;
  2. import java.util.Scanner;
  3. public class homework4 {
  4. public static void Divide(int[] ARR, int l, int r){
  5. if(l < r){
  6. int m = (l + r);
  7. Divide(ARR, l, m);
  8. Divide(ARR, m + 1, r);
  9. CompareAndMerge(ARR, l, m, r);
  10. }
  11. }
  12. private static void CompareAndMerge(int[] arr, int l, int m, int r) {
  13. int LArrLenght = m -l +1;
  14. int RArrLenght = r - m;
  15. int[] L = new int[LArrLenght];
  16. int [] R = new int [RArrLenght];
  17. for(int i = 0; i<LArrLenght; i++) {
  18. L[i] = arr[l+i];
  19. }
  20. for(int j = 0; j< RArrLenght; j++) {
  21. R[j] = arr[m + 1 + j];
  22. }
  23. int i = 0;
  24. int j = 0;
  25. int k = l;
  26. while(i <LArrLenght && j < RArrLenght) {
  27. if (L[i] < R[j]) {
  28. arr [k] = L[i];
  29. i++;
  30. }else
  31. {
  32. arr[k] = R[j];
  33. j++;
  34. }
  35. k++;
  36. }
  37. while (i < LArrLenght) {
  38. arr[k] = L [i];
  39. i++;
  40. k++;
  41. }
  42. while (j < RArrLenght) {
  43. arr[k] = L [j];
  44. j++;
  45. k++;
  46. }
  47. }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement