题解 | #有序序列合并#
有序序列合并
https://www.nowcoder.com/practice/a9e943b0dab142759807d0cfb6863897
#include <stdio.h> int main() { int n, m, i, j; while (scanf("%d %d", &n, &m) != EOF) { int arr2[n]; int arr3[m]; int arr[n + m]; for (i = 0; i < n; i++) { scanf("%d", &arr2[i]); } for (i = 0; i < m; i++) { scanf("%d", &arr3[i]); } for (i = 0; i < n; i++) { arr[i] = arr2[i]; } for (i = 0; i < m; i++) { arr[n + i] = arr3[i]; } // 冒泡排序 for (i = 0; i < n + m - 1; i++) { for (j = 0; j < n + m - 1 - i; j++) { if (arr[j] > arr[j + 1]) { // 交换 arr[j] 和 arr[j + 1] int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } for (i = 0; i < n + m; i++) { printf("%d ", arr[i]); } printf("\n"); } return 0; }
我这个代码的思路不太一样
先把两个数组合并
然后用冒泡排序依次对元素进行排序