SHARE
TWEET

bobosivic

a guest Jun 19th, 2019 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top