/**
 * 
 * @param A int整型一维数组 
 * @param ALen int A数组长度
 * @param B int整型一维数组 
 * @param BLen int B数组长度
 * @return void
 */

/*********************NC22-合并两个有序的数组**********************************
* 题目给出的是整数数组A和有序整数数组B,将数组B合并到数组A中,变成一个有序的升序数组
* 注意1、数组A又足够的空间存放数组B中的元素,A和B初始数组元素数目分别为m和n,A数组大小为m+n
* 注意2、数组A在[0,m-1]也是有序的
* 注意3、不要返回合并的数组,将数组B的元素合并到数组A就好了
****************************************************************************/
void merge(int* A, int ALen, int m, int* B, int BLen, int n) {
    // write code here
    int nums[m+n];
    int i=0, j=0, cnt=0;
  
    //数组A又m和元素,数组B有n个元素,将合并后的数组先放入nums中,nums数组大小为m+n
    while(i < m && j < n)
    {
        if(A[i] < B[j])
            nums[cnt++] = A[i++];
        else
            nums[cnt++] = B[j++];
    }
    
    while(i < m)
        nums[cnt++] = A[i++];
    while(j < n)
        nums[cnt++] = B[j++];
    
   //将nums数组元素拷贝到数组A中
    for(i = 0; i < m+n; i++)
        A[i] = nums[i]; 
}