思路:数组赋值,扩容,排序
- 复制数组:1.System.arrayCopy(源数组,起始下标,目标数组,起始下标,赋值个数)
2.A=B;//长度相等可用
3.A=Arrays.copyOfRange(B,B的起始下标,复制长度);//长度相等可用
- 数组排序:Arrays.sort(A)
- 数组扩容:Arrays.copyOf(需要扩容的数组,新数组长度)
- 数组打印:System.out.println(Arrays.toString(A))
1.使用System.arrayCopy(...),再排序
System.arraycopy(B,0,A,m,n);
Arrays.sort(A);
2.将数组A扩容B的长度,从m(A的长度)开始赋值,再排序
for(int i=0;i<n;i++) {
A[m+i]=B[i];
}
Arrays.sort(A);
3.双指针,将两个数组指针指向的值较小的放入新开的数组中,较小值的数组指针下移,另一个数组指针不变
int[] sort = new int[m+n];
int p=0,q=0;
while (p<m||q<n){
if(p==m)
sort[p+q]=B[q++];
else if(q==n)
sort[p+q]=A[p++];
else if(A[p]<B[q])
sort[p+q]=A[p++];
else
sort[p+q]=B[q++];
}
for(int i=0;i!=m+n;i++){
A[i]=sort[i];
}