题解 | 有序序列合并
有序序列合并
https://www.nowcoder.com/practice/a9e943b0dab142759807d0cfb6863897
#include <stdio.h>
int main() {
int a,b;
scanf("%d %d",&a,&b);
int arr1[1000] = {0};
int arr2[1000] = {0};
int arr3[2000] = {0};
for (int i = 0; i < a; i++)
scanf("%d",&arr1[i]);
for (int i = 0; i < b; i++)
scanf("%d",&arr2[i]);
int i = 0,j = 0, k = 0;
//归并在arr3数组里面
while(i < a&&j < b)
{
if(arr1[i] < arr2[j])
{arr3[k] = arr1[i];
k++;
i++;
}
else
{
arr3[k] = arr2[j];
k++;
j++;
}
}
//数组1,2中的剩下部分处理
while(i < a)
arr3[k++] = arr1[i++];
while(j < b)
arr3[k++] = arr2[j++];
for(int t = 0;t < a+b; t++)
printf("%d ",arr3[t]);
return 0;
}