题解 | #有序序列合并#

有序序列合并

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

#include <stdio.h>
int main()
{
	int n, m = 0;
	scanf("%d %d", &n, &m);
	int arr1[n];
	int arr2[m];
	int arr3[n+m];
	int i, j, k = 0;
	for (i = 0; i < n; i++)
	{
		scanf("%d", &arr1[i]);
	}
	for (j = 0; j < m; j++)
	{
		scanf("%d", &arr2[j]);
	}
    i=0;j=0;
	while (i < n && j < m)
	{
		if (arr1[i] < arr2[j])
		{
			arr3[k] = arr1[i];
			i++;
			k++;
		}
		else
		{
			arr3[k] = arr2[j];
			j++;
			k++;
		}
	}
	if (i == n)
	{
		while (j < m)
		{
			arr3[k] = arr2[j];
			k++;
			j++;
		}

	}
	else//j==m
	{
		while (i < n)
		{
			arr3[k] = arr1[i];
			k++;
			i++;
		}
	}
	for (k = 0; k < n + m; k++)
	{
		printf("%d ", arr3[k]);
	}

	return 0;
}

全部评论

相关推荐

06-26 17:24
已编辑
宁波大学 Java
迷失西雅图:别给,纯kpi,别问我为什么知道
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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