//链接两个有序数组;
int main()
{
int n, m;
scanf("%d %d", &n, &m);
int arr1[1000];
int arr2[1000];
int i = 0;
int j = 0;
//输入数据;
for (i = 0; i < n; i++)
{
scanf("%d", &arr1[i]);
}
for (i = 0; i < m; i++)
{
scanf("%", &arr2[i]);
}
//合并打印
j = 0;
int k = 0;
while (j < n && k < m)
{
if (arr1[j] < arr2[k])
{
printf("%d ", arr1[j]);
j++;
}
else
{
printf("%d ", arr2[k]);
k++;
}
}
if (j < n)
{
for (; j < n; j++)
{
printf("%d ", arr1[j]);
}
}
else
{
for (; k < m; k++)
{
printf("%d ", arr2[k]);
}
}
return 0;
}
//合体版
int main()
{
int n, m;
scanf("%d %d", &n, &m);
int arr1[1000];
int arr2[1000];
int arr3[1000];
int i = 0;
int j = 0;
//输入数据;
for (i = 0; i < n; i++)
{
scanf("%d", &arr1[i]);
}
for (i = 0; i < m; i++)
{
scanf("%d", &arr2[i]);
}
//合并打印
j = 0;
int k = 0;
int r = 0;
while (j < n && k < m)
{
if (arr1[j] < arr2[k])
{
arr3[r++] = arr1[j];
j++;
}
else
{
arr3[r++] = arr2[k];
k++;
}
}
if (j < n)
{
for (; j < n; j++)
{
arr3[r++] = arr1[j];
}
}
else
{
for (; k < m; k++)
{
arr3[r++] = arr2[k];
}
}
for (int s = 0; s < m+n; s++)
{
printf("%d ", arr3[s]);
}
return 0;
}
链接两个有序数组;
最新推荐文章于 2024-06-15 16:17:24 发布