题解 | #有序序列合并#
有序序列合并
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;
}
查看1道真题和解析
