SORT13
#include <stdio.h>
#define MAX 50000
void merge(int n1,int n2);
int arr1[MAX],arr2[MAX];
int main() {
int n1,n2,i,j,t;
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%d%d",&n1,&n2);
for(j=0;j<n1;j++)
{
scanf("%d",&arr1[j]);
}
for(j=0;j<n2;j++)
{
scanf("%d",&arr2[j]);
}
merge(n1,n2);
}
return 0;
}
void merge(int n1,int n2)
{
int n,i=0,j=0,k=0,arr3[n1+n2];
while(j<n1 && k<n2)
{
if(arr1[j]>arr2[k])
{
arr3[i]=arr1[j];
i++;
j++;
}
else
{
arr3[i]=arr2[k];
i++;
k++;
}
}
if(j>=n1)
{
while(k<n2)
{
arr3[i]=arr2[k];
i++;
k++;
}
}
else
{
while(j<n1)
{
arr3[i]=arr1[j];
i++;
j++;
}
}
n=n1+n2;
for(i=0;i<n;i++)
{
printf("%d ",arr3[i]);
}
printf("\n");
}
Comments
Post a Comment