题解 | 有序序列合并

有序序列合并

https://www.nowcoder.com/practice/a9e943b0dab142759807d0cfb6863897

#include <stdio.h>

int main() {
    int a,b;
    scanf("%d %d",&a,&b);
    int arr1[1000] = {0};
    int arr2[1000] = {0};
    int arr3[2000] = {0};
    for (int i = 0; i < a; i++)
        scanf("%d",&arr1[i]);
    for (int i = 0; i < b; i++)
        scanf("%d",&arr2[i]);
    int i = 0,j = 0, k = 0;
    //归并在arr3数组里面
    while(i < a&&j < b)
    {
        if(arr1[i] < arr2[j])
        {arr3[k] = arr1[i];
            k++;
            i++;
        }
        else
        {
            arr3[k] = arr2[j];
            k++;
            j++;
        }
    }
        //数组1,2中的剩下部分处理
    while(i < a)
        arr3[k++] = arr1[i++];
    while(j < b)
        arr3[k++] = arr2[j++];
    for(int t = 0;t < a+b; t++)
        printf("%d ",arr3[t]);
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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