双指针法
#include <stdio.h>
int main()
{
int n,m;
scanf("%d%d",&n,&m);
int a[n],b[m];//牛客可用变长数组
for(int i = 0; i < n; i++)
scanf("%d",&a[i]);
for(int i = 0; i < m; i++)
scanf("%d",&b[i]);
int add[n+m];
int i = 0,j = 0;//分别指向两个数组的第一个元素
int l = 0;
while(i < n && j < m)
{
if(a[i] < b[j])
add[l++] = a[i++];
else
add[l++] = b[j++];
}
//还要考虑数组a或数组b中剩下的元素
while(i < n)
{
add[l++] = a[i++];
}
while(j < m)
{
add[l++] = b[j++];
}
for(int e = 0; e < n+m; e++)
printf("%d ",add[e]);
return 0;
}