题解 | #有序序列合并#

有序序列合并

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

#include <stdio.h>

int main() {
    int arr1[1001] = {0},arr2[1001] = {0},arr3[1001] = {0};
    int n = 0,m = 0;
    scanf("%d %d",&n,&m);
  //录取两个数组
    for(int i=0; i<n; i++)
    {
        scanf("%d",&arr1[i]);
    }
    for(int i=0; i<m; i++)
    {
        scanf("%d",&arr2[i]);
    }
    

    int b = 0;
    int i = 0,j = 0;
  //比较两个数组元素大小
    while(i<n&&j<m)
    {
        if(arr1[i]>arr2[j])
        {
            arr3[b++] = arr2[j++];
        }
        else{
            arr3[b++] = arr1[i++];
        }
    }
  //将剩余数组元素拷贝给新数组
    if(i==n)
    {
        for(int i = j;i<=m;i++)
        {
            arr3[b++] = arr2[i];
        }
    }
    else {
        for(int j = i;j<=n;j++)
        {
            arr3[b++] = arr1[j];
        }
    }
    for(int i = 0;i<m+n;i++)//打印数组
    {
        printf("%d ",arr3[i]);
    }
    return 0;
}

全部评论

相关推荐

认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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