private static void merge(int[] source, int[] buffer, int startingIndex, int count) {
int lowerIndex = startingIndex;
int lowerBound = startingIndex + count / 2;
int upperIndex = lowerBound;
int upperBound = startingIndex + count;
for(int i = startingIndex ; i < upperBound ; i++){
if(upperIndex >= upperBound ){
System.arraycopy(source, lowerIndex , buffer, i, i - startingIndex );
return;
}
if(lowerIndex >= lowerBound ){
System.arraycopy(source, upperIndex , buffer, i, i - startingIndex );
return;
}
buffer[i] = source[lowerIndex] < source[upperIndex] ? source[lowerIndex++] : source[upperIndex++]
}
}
Merge Sort recurrently implemented by Divide and conquer Algorithm.
Wednesday, April 9, 2014
MergeSort implemented in Java
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment