题解 | #有序序列合并#

有序序列合并

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

int main()
{
	int i = 0, n = 0,m=0,j=0;
	scanf("%d%d", &n, &m);
	int arr[1000] = { 0 };
	int drr[1000] = { 0 };
	int crr[3000] = { 0 };
	//输入
	for (i = 0; i < n; i++)
	{
		scanf("%d", &arr[i]);
	}
	for (i = 0; i < m; i++)
	{
		scanf("%d", &drr[i]);
	}
	int p = m + n;
    //判断三种情况,谁的数组小,就放前面
	if(m>n||m==n||m<n)
	{
		for (i = 0; i < p; i++)
		{
			if (i < m)
			{
				crr[i] = drr[i];
			}
			else
			{
				crr[i] = arr[j++];
			}
		}
	}
    //冒泡排序
	for (i = 0; i < p; i++)
	{
		for (int j = 0; j < p - i - 1; j++)
		{
			if (crr[j] > crr[j + 1])
			{
				int temp = crr[j+1];
				crr[j+1] = crr[j];
				crr[j] = temp;
			}
		}
	}
	for (i = 0; i < p; i++)
	{
		printf("%d ", crr[i]);
	}
	return 0;
}

全部评论

相关推荐

zYvv:双一流加大加粗再标红,然后广投。主要是获奖荣誉不够,建议开始不用追求大厂,去别的厂子刷下实习。
点赞 评论 收藏
分享
MinJerous:虽然我一直说 计算机不怎么卡学历 但是至少得一本
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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