两个有序数组合并依然有序

有两个有序数组,分别存放数据为: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]);
     
}