思路:数组赋值,扩容,排序

  • 复制数组: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];
        }