Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static void merge(Comparable[] array, int begin, int mid, int end){
- // Ejercicio
- int tmpPos = begin;
- int numElements = end - begin + 1;
- Comparable[] tmpArray = new Comparable[end];
- // ciclo principal
- while( begin <= (mid -1) && mid <= end )
- if( array[begin].compareTo( array[mid] ) <= 0 )
- tmpArray[ tmpPos++ ] = array[begin++];
- else
- tmpArray[ tmpPos++ ] = array[mid++];
- while( begin <= (mid -1) ) // Copia la primera mitad
- tmpArray[ tmpPos++ ] = array[begin++];
- while( mid <= end ) // Copia la segunda mitad
- tmpArray[ tmpPos++ ] = array[mid++];
- // ---
- for( int i = 0; i < numElements; i++, end-- )
- array[end] = tmpArray[end];
- }
Add Comment
Please, Sign In to add comment