首先:定义好两个数据
@Test
public void run(){
int array1[] = {1,3,4,6,7,9,10};
int array2[] = {1,2,5,8};
System.out.println(Arrays.toString(hebing(array1, array2)));
System.out.println(Arrays.toString(hebing2(array1, array2)));
}
第一种方法:
使用封装好的方法
public int[] hebing(int[] a, int[] b){
int[] c = new int[a.length + b.length];
System.arraycopy(a, 0,c ,0,a.length);
System.arraycopy(b,0,c, a.length,b.length);
Arrays.sort(c);
return c;
}
第二种方法: (可以慢慢理解)
public int[] hebing2(int[] a ,int[] b){
int[] c = new int[a.length + b.length]; //新数组
int i = 0; //数组 a 角标
int j = 0; //数组 b 角标
int k = 0; //新数组 c 角标
while (i < a.length && j < b.length){
if (a[i] <= b[j]) {
c[k++] = a[i++];
} else {
c[k++] = b[j++];
}
}
while (i < a.length){
c[k++] = a[i++];
}
while (j < b.length){
c[k++] = b[j++];
}
return c;
}