Write a function to merge two sorted arrays and return a new sorted array.
int* merge(int* A, int n1, int* B, int n2) {
}
A : Integer array, n1 : Integer array's ( A ) length
B : Integer array,n2 : Integer array's ( B ) length
Returns a array of size n1 + n2 with A and B merged.
int* merge(int* A, int n1, int* B, int n2) {
int *merged = malloc(sizeof(int) * (n1 + n2));
int i=0, j=0, k=0;
while (i<n1 && j<n2)
if (A[i] < B[j])
merged[k++] = A[i++];
else
merged[k++] = B[j++];
while (i<n1)
merged[k++] = A[i++];
while (j<n2)
merged[k++] = B[j++];
return merged;
}
Comments
Leave a comment