<awangdev>[tool]. MergeSort_1.java
private void merge(int[] nums, int[] temp, int start, int end) {

        int leftEnd = start + (end - start) / 2; 
        int rightStart = leftEnd + 1;
        int size = end - start + 1;
        
        int i = start;
        int j = rightStart;
        int index = start;
        
        while (i <= leftEnd && j <= end) {
            if (nums[i] <= nums[j]) {
                temp[index] = nums[i];
                i++;
            } else {
                temp[index] = nums[j];
                j++;
            }
            index++;
        }
        
        System.arraycopy(nums, i, temp, index, leftEnd - i + 1); 
        System.arraycopy(nums, j, temp, index, end - j + 1); 
        System.arraycopy(temp, start, nums, start, end - start + 1); 
    }
private void var_0 ( int [ ] var_1 , int [ ] var_2 , int var_3 , int var_4 ) {
  int var_6 = var_3 + ( var_4 - var_3 ) / 2 ;
  int var_8 = var_6 + 1 ;
  int var_9 = var_4 - var_3 + 1 ;
  int var_10 = var_3 ;
  int var_11 = var_8 ;
  int var_12 = var_3 ;
  while ( var_10 <= var_6 && var_11 <= var_4 ) {
    if ( var_1 [ var_10 ] <= var_1 [ var_11 ] ) {
      var_2 [ var_12 ] = var_1 [ var_10 ] ;
      var_10 ++ ;
    }
    else {
      var_2 [ var_12 ] = var_1 [ var_11 ] ;
      var_11 ++ ;
    }
    var_12 ++ ;
  }
  System . arraycopy ( var_1 , var_10 , var_2 , var_12 , var_6 - var_10 + 1 ) ;
  System . arraycopy ( var_1 , var_11 , var_2 , var_12 , var_4 - var_11 + 1 ) ;
  System . arraycopy ( var_2 , var_3 , var_1 , var_3 , var_4 - var_3 + 1 ) ;
}
