Advertisement
Guest User

bobosivic

a guest
Jun 19th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. static void merge(int arr[], int l, int m, int r, String decision){
  2. int a = m - l +1;
  3. int b = r - m;
  4.  
  5. int left[] = new int [a];
  6. int right[] = new int [b];
  7.  
  8. for (int i=0;i<a;++i){
  9. left[i] = arr[l + i];
  10. }
  11. for (int j=0;j<b;++j){
  12. right[j] = arr[m+1 + j];
  13. }
  14.  
  15. int i=0 ,j = 0;
  16. int k = l;
  17.  
  18. while( i < a && j < b){
  19. if (decision.equalsIgnoreCase("A"))
  20. if(left[i] <= right[j]){ //(<= if ascending)
  21. arr[k] = left[i];
  22. i++;
  23. }
  24. else{
  25. arr[k] = right[j];
  26. j++;
  27. }
  28. k++;
  29. }
  30. if (decision.equalsIgnoreCase("D")){
  31. if(left[i] >= right[j]){ //(>= if descending)
  32. arr[k] = left[i];
  33. i++;
  34. }
  35. else{
  36. arr[k] = right[j];
  37. j++;
  38. }
  39. k++;
  40. }
  41. while(i < a){
  42. arr[k] = left[i];
  43. i++; k++;
  44. }
  45. while(j < b){
  46. arr[k] = right[j];
  47. j++; k++;
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement