方法一:数组a和数组b依次从前往后比较
public static int[] merge(int[]a,int[] b){
int [] res = new int[a.length+b.length];
int i=0,j=0,k=0;
while(i<a.length&&j<b.length){
if(a[i]<=b[j]){
res[k] = a[i];
i++;k++;
}else{
res[k] = b[j];
j++;k++;
}
}
while(i<a.length){
res[k++] = a[i++]; //a数组还有元素
}
while(j<b.length){
res[k++] = b[j++];//b数组还有元素
}
return res;
}
方法二:数组a和数组b依次从后往前比较
public static int[] sorted(int[] A,int[] B){
int i = A.length-1,j = B.length-1;
int k = A.length+B.length-1;
int[] C = new int[k+1];
while(i>=0&&j>=0){
if(A[i]>B[j])
{
C[k--] = A[i--];
}
if(A[i]<=B[j])
{
C[k--] = B[j--];
}
}
while(i>=0){
C[k--] = A[i--];
}
while(j>=0){
C[k--] = B[j--];
}
return C;
}