题解 | #合并两个有序的数组#

合并两个有序的数组

https://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665

/**
 * 
 * @param A int整型一维数组 
 * @param ALen int A数组长度
 * @param B int整型一维数组 
 * @param BLen int B数组长度
 * @return void
 */
#include <stdbool.h>
void merge(int* A, int ALen, int m, int* B, int BLen, int n) {
    // write code here
    int num=n+m;
    while(num)
    {
            if(A[m-1]>B[n-1])
    {
        A[num-1]=A[m-1];
        m--;
    }
    else
     {
        A[num-1]=B[n-1];
        n--;
    }
    num--;
    if(n==0 || m==0)
        break;
    }
    if(m==0)
    {
        for(n;n>0;n--)
        {
            A[num-1]=B[n-1];
            num--;
        }
    }
    else {
        for(m;m>0;m--)
        {
            A[num-1]=A[m-1];
            num--;
        }
    }
}

全部评论

相关推荐

牛客383479252号:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
鬼迹人途:你去投一投尚游游戏,服务器一面,第一个图算法,做完了给你一个策略题,你给出方案他就提出低概率问题,答不上当场给你挂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务