具体实现如下:?
public static int[] merge(int[] l , int[] r) {
int l_index = 0 ;
int r_index = 0 ;
int l_length = l.length ;
int r_length = r.length ;
int[] merged = new int[l_length+r_length];
int merged_index = 0;
while(l_index < l_length && r_index < r_length) {
if( l[l_index] < r[r_index]) {
merged[merged_index] = l[l_index];
l_index++;
}else {
merged[merged_index] = r[r_index];
r_index++;
}
merged_index++;
}
int index;
int length;
int[] array;
if(l_index == l_length) {
index = r_index ;
length = r_length ;
array = r ;
}else {
index = l_index ;
length = l_length ;
array = l ;
}
while(index < length) {
merged[merged_index] = array[index];
index++;
merged_index++;
}
return merged;
}
?
cs