Skip to content

Instantly share code, notes, and snippets.

@AndreaNicola
Created September 21, 2019 13:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AndreaNicola/b7eecbec96062b3786fd0f75ea135055 to your computer and use it in GitHub Desktop.
Save AndreaNicola/b7eecbec96062b3786fd0f75ea135055 to your computer and use it in GitHub Desktop.
public class Merger {
static int[] merge(int[] array1, int[] array2) {
int[] mergedArray = new int[array1.length + array2.length];
int array1Index = 0;
int array2Index = 0;
int mergedArrayIndex = 0;
while (array1Index < array1.length && array2Index < array2.length) {
if (array1[array1Index] < array2[array2Index]) {
mergedArray[mergedArrayIndex++] = array1[array1Index];
array1Index++;
} else {
mergedArray[mergedArrayIndex++] = array2[array2Index];
array2Index++;
}
}
while (array1Index < array1.length && !(array2Index < array2.length)) {
mergedArray[mergedArrayIndex++] = array1[array1Index++];
}
while (array2Index < array2.length && !(array1Index < array1.length)) {
mergedArray[mergedArrayIndex++] = array2[array2Index++];
}
return mergedArray;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment