题解 | 有序序列合并
有序序列合并
https://www.nowcoder.com/practice/a9e943b0dab142759807d0cfb6863897
#include <stdio.h>
void int_arr(int arr[1000], int x)
{
int i = 0,j;
for (i = 0;i < x;i++)
{
scanf("%d", &j);
arr[i] = j;
}
}
void print(int arr[1000], int x)
{
int i = 0;
for (i = 0;i < x;i++)
{
printf("%d ", arr[i]);
}
printf("\n");
}
void Ad(int arr1[1000], int arr2[1000], int x, int y)
{
int i = 0,j=0;
for (i = x;i < x + y;i++,j++)
{
arr1[i] = arr2[j];
}
}
void line(int arr[1000], int x)
{
int j = 0;
int i = 0;
int t = 0;
for (j = x;j > 1;j--)
{
for (i = 1;i < j;i++)
{
if (arr[i - 1] > arr[i])
{
t = arr[i - 1];
arr[i - 1] = arr[i];
arr[i] = t;
}
}
}
}
int main()
{
int m,n;
while (scanf("%d %d", &m, &n) != EOF)
{
int arr1[1000] = { 0 };
int arr2[1000] = { 0 };
int_arr(arr1, m);
int_arr(arr2, n);
Ad(arr1, arr2,m,n);
line(arr1, m + n);
print(arr1, m + n);
}
}
我觉得无序更好,更能锻炼我的思维。
