题解 | #有序序列合并#
有序序列合并
https://www.nowcoder.com/practice/a9e943b0dab142759807d0cfb6863897
#include <stdio.h> int main() { int n, m = 0; scanf("%d %d", &n, &m); int arr1[n]; int arr2[m]; int arr3[n+m]; int i, j, k = 0; for (i = 0; i < n; i++) { scanf("%d", &arr1[i]); } for (j = 0; j < m; j++) { scanf("%d", &arr2[j]); } i=0;j=0; while (i < n && j < m) { if (arr1[i] < arr2[j]) { arr3[k] = arr1[i]; i++; k++; } else { arr3[k] = arr2[j]; j++; k++; } } if (i == n) { while (j < m) { arr3[k] = arr2[j]; k++; j++; } } else//j==m { while (i < n) { arr3[k] = arr1[i]; k++; i++; } } for (k = 0; k < n + m; k++) { printf("%d ", arr3[k]); } return 0; }