题解 | #有序序列合并#

有序序列合并

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

#include <stdio.h>

int main() 
{
    int n = 0;
    int m = 0;
    int arr1[1000] = { 0 };
    int arr2[1000] = { 0 };
    scanf("%d %d", &n, &m);
    int i = 0;
    int j = 0;
    int tmp = 0;
    for (i = 0; i < n; i++) 
	{
        scanf("%d", &arr1[i]);//给第一个数组赋值
    }
    for (i = 0; i < m; i++) 
	{
        scanf("%d", &arr2[i]);//给第二个数组赋值
    }
    int arr[2000] = { 0 };//合并数组
    for (i = 0; i < n + m; i++)
	{
        if (i < n)
		{ //i小于n时,给合并数组传arr1对应的值
            arr[i] = arr1[i];
        } 
		else
		{
            arr[i] = arr2[i-n]; //i大于等于n且小于n+m时,给合并数组传arr2对应坐标的值
        }
    }
    //冒泡排序
    //共n+m个元素
    //要比n+m-1轮
    //每轮n+m-1-i次
    for (i = 0; i < n + m - 1; i++) 
	{
        for (j = 0; j < n + m - 1 - i; j++)
		{
            if (arr[j] > arr[j + 1]) 
			{
                tmp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = tmp;
            }
        }
    }
    for (i = 0; i < n + m; i++)
	{
        printf("%d ", arr[i]);
    }
    return 0;
}

全部评论

相关推荐

湫湫湫不会java:先投着吧,大概率找不到实习,没实习的时候再加个项目,然后把个人评价和荣誉奖项删了,赶紧成为八股战神吧,没实习没学历,秋招机会估计不多,把握机会。或者说秋招时间去冲实习,春招冲offer,但是压力会比较大
点赞 评论 收藏
分享
仁者伍敌:难怪小公司那么挑剔,让你们这些大佬把位置拿了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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