Answer to Question #260592 in C++ for devi

Question #260592

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.


1
Expert's answer
2021-11-04T16:26:43-0400
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;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS