class Solution {
public:
    void merge(int A[], int m, int B[], int n) {
        /*//直接插入排序
        int i=0,j=0;
        while(j<n)
        {
            while(A[i]<=B[j]&&i<m+j)
                i++;
            for(int t=m+j; t>i; t--)
                A[t]=A[t-1];
            A[i++]=B[j++];
        }
        */
        //第二种,直接在A上从后往前操作
        int i=m-1,j=n-1,k=m+n-1;
        while(i>=0&&j>=0)
        {
            if(A[i]>B[j])
                A[k--]=A[i--];
            else
                A[k--]=B[j--];
        }
        while(i>=0)
                A[k--]=A[i--];
        while(j>=0)
                A[k--]=B[j--];
    }
};