两个已经排好序的数组,写入第三个数组,写入第三个数组时要排好序,而且不允许用排序
复杂度 : O(n)
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
void merge(int a[10], int b[10], int c[20]){
int i = 0, j = 0, k = 0;
while (i < 10 && j < 10)
c[k++]=a[i] < b[j] ? a[i++] : b[j++];
while (i < 10)
c[k++] = a[i++];
while (j < 10)
c[k++] = b[j++];
}
int main(){
int a[10],b[10];
int i;
for (i = 0;i < 10;i ++){
scanf("%d", &a[i]);
}
for(i = 0; i < 10; i++){
scanf("%d", &b[i]);
}
int c[20];
merge(a, b, c);
for(i = 0; i < 20; i++)
printf("%d ", c[i]);
putchar('\n');
return 0;
}