Write a function that will merge the contents of two sorted (ascending order) arrays of type integer values, storing the result in an array output parameter (still in ascending order). The function should not assume that both its input parameter arrays are the same length but can assume that one array does not contain two copies of the same value. The result array should also contain no duplicate values. An example is shown below, where the value 15 appears in both input arrays, but the output array contains 15 only once. The function should receive input arrays as input arguments and output array as an output argument along with any other required arguments. The algorithm for such a function is shown below. Maintain two position pointers (simple integers) for the 2 input arrays. Compare elements of both arrays at these positions and increment appropriate pointer as shown in the figure below. Hint: When one of the input arrays has been exhausted, do not forget to copy the remaining data in the other array into the result array. Test your function with cases in which (1) the first array is exhausted first, (2) the second array is exhausted first, and (3) the two arrays are exhausted at the same time (i.e., they end with the same value). Remember that the arrays input to this function must already be sorted.

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter8: Arrays And Strings
Section: Chapter Questions
Problem 23PE
icon
Related questions
Question
100%

Write a function that will merge the contents of two sorted (ascending order) arrays of type integer values, storing the result in an array output parameter (still in ascending order). The function should not assume that both its input parameter arrays are the same length but can assume that one array does not contain two copies of the same value. The result array should also contain no duplicate values. An example is shown below, where the value 15 appears in both input arrays, but the output array contains 15 only once.

The function should receive input arrays as input arguments and output array as an output argument along with any other required arguments. The algorithm for such a function is shown below. Maintain two position pointers (simple integers) for the 2 input arrays. Compare elements of both arrays at these positions and increment appropriate pointer as shown in the figure below.

Hint: When one of the input arrays has been exhausted, do not forget to copy the remaining data in the other array into the result array. Test your function with cases in which (1) the first array is exhausted first, (2) the second array is exhausted first, and (3) the two arrays are exhausted at the same time (i.e., they end with the same value). Remember that the arrays input to this function must already be sorted.

 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 3 images

Blurred answer
Knowledge Booster
Arrays
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning