Advertisement
TsetsoP

Merge_methods

Dec 17th, 2020
771
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.27 KB | None | 0 0
  1. package merge;
  2. import java.util.Scanner;
  3. public class MergeSort_methods {
  4.    
  5.    
  6.     //SORT 
  7.     public static void Divide(int[] ARR, int l, int r){
  8.         if(l < r){
  9.             int m = (l + r)/2;
  10.             Divide(ARR, l, m);
  11.             Divide(ARR, m + 1, r);
  12.  
  13.             CompareAndMerge(ARR, l, m, r);
  14.         }
  15.     }//end of divide
  16.     //SortAndMerge
  17.     private static void CompareAndMerge(int[] arr, int l, int m, int r) {
  18.        
  19.         int LArrLenght = m -l +1;//3
  20.         int RArrLenght = r - m;//2
  21.        
  22.         int[] L = new int[LArrLenght];
  23.         int [] R = new int [RArrLenght];
  24.        
  25.         for(int i = 0; i<LArrLenght; i++) {
  26.            
  27.             L[i] = arr[l+i];
  28.            
  29.             }
  30.         for(int j = 0; j< RArrLenght; j++) {
  31.            
  32.             R[j] = arr[m + 1 + j];
  33.            
  34.         }
  35.        
  36.        
  37.         int i = 0;//left array index
  38.         int j = 0;//right array index
  39.         int k = l;//index for arr
  40.        
  41.         while(i <LArrLenght && j < RArrLenght) {
  42.             if (L[i] < R[j]) {
  43.                 arr [k] = L[i];
  44.                 i++;
  45.             }else
  46.             {
  47.                 arr[k] = R[j];
  48.                 j++;
  49.                }
  50.             k++;
  51.             }
  52.        
  53.            while (i < LArrLenght) {
  54.                arr[k] = L [i];
  55.                i++;
  56.                k++;
  57.                
  58.            }
  59.        
  60.            while (j < RArrLenght) {
  61.                arr[k] = L [j];
  62.                j++;
  63.                k++;
  64.                
  65.            }
  66.        
  67.        
  68.        
  69.        
  70.     }//end of SortAndMerge
  71. }//end of class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement