#include #include "merging.h" //#include int* merging(int* nums1, int* nums2, int size1, int size2) { int* mergedStart = malloc((size1 + size2) * sizeof(*nums1)); int* merged = mergedStart; int i = 0; int j = 0; while (i + j < size1 + size2) { //printf("%d %d : %d %d\n", *nums1, *nums2, i, j); if (i < size1 && j < size2) { if (*nums1 < *nums2) { *merged = *nums1; nums1++; i++; } else { *merged = *nums2; nums2++; j++; } } else if (i >= size1 && j < size2) { *merged = *nums2; nums2++; j++; } else { *merged = *nums1; nums1++; i++; } merged++; } return mergedStart; }