Guest User

Untitled

a guest
Jan 21st, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.00 KB | None | 0 0
  1. private static void merge(Comparable[] array, int begin, int mid, int end){
  2.         // Ejercicio
  3.                 int tmpPos = begin;
  4.                 int numElements = end - begin + 1;
  5.                 Comparable[] tmpArray = new Comparable[end];
  6.                
  7.                 // ciclo principal
  8.                 while( begin <= (mid -1) && mid <= end )
  9.                         if( array[begin].compareTo( array[mid] ) <= 0 )
  10.                           tmpArray[ tmpPos++ ] = array[begin++];
  11.                         else
  12.                           tmpArray[ tmpPos++ ] = array[mid++];
  13.        
  14.                 while( begin <= (mid -1) )    // Copia la primera mitad
  15.                         tmpArray[ tmpPos++ ] = array[begin++];
  16.        
  17.                 while( mid <= end )  // Copia la segunda mitad
  18.                         tmpArray[ tmpPos++ ] = array[mid++];
  19.        
  20.                 // ---
  21.                 for( int i = 0; i < numElements; i++, end-- )
  22.                         array[end] = tmpArray[end];
  23.     }
Add Comment
Please, Sign In to add comment