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

合并两个有序的数组

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

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,count=0;
    
    while(i<m && j<n){
        if(A[i]<B[j]){
            nums[count++]=A[i++];
        }else{
            nums[count++]=B[j++];
        }
    }
    //可能会出现一个数组都排好了,另外一个数组还有元素没有排进去的情况
    while(i<m){
        nums[count++]=A[i++];
    }
    while(j<n){
        nums[count++]=B[j++];
    }
    
    for(i=0;i<m+n;i++){
        A[i]=nums[i];
    }

}
全部评论

相关推荐

饿魔:看到在线简历了吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务