有两个有序数组,分别存放数据为:1,3,5,7,9和2,4,6,8,10,请编写程序将两个有序数组合并,合并后的数组依然有序。(不允许使用排序算法)
#include<stdio.h>
#include<stdlib.h>
int main(){
int arr1[5] = {1, 3, 5, 7, 9};
int arr2[5] = {2, 4, 6, 8, 10};
int* arr;
arr = (int*)malloc(sizeof(int) * 10);
int i, j, k;
i = j = k = 0;
while (i < 5 && j < 5){
if (arr1[i] < arr2[j])
arr[k++] = arr1[i++];
else
arr[k++] = arr2[j++];
}
while (i < 5)
arr[k++] = arr1[i++];
while(j < 5)
arr[k++] = arr2[j++];
for (i = 0; i < 10; i++)
printf("%d ", arr[i]);
}