interleave
Category: Arrays
Author: Stuart Reges
Book Chapter: 7.1
Problem: interleave
Write a static method interleave that takes two arrays
of integers as parameters and that returns a new array that contains the
result of interleaving the elements of the two arrays. It should not alter
either of its parameters. Two arrays are interleaved by taking elements in
the following order:
1st element of 1st list
1st element of 2nd list
2nd element of 1st list
2nd element of 2nd list
3rd element of 1st list
3rd element of 2nd list
and so on
For example, if the variables list1 and list2 contain the following values:
list1: (1, 8, 3, 9)
list2: (2, 12, 6, 14)
Then the call interleave(list1, list2) should return a new array that stores
the following values:
(1, 2, 8, 12, 3, 6, 9, 14)
The order of the parameters matters. For example, interleave(list2, list1)
should produce the following array as its result:
(2, 1, 12, 8, 6, 3, 14, 9)
One list might be longer than the other, in which case any extra values from
the longer list should simply be appended at the end of the result. For
example, given the following lists:
list1: (1, 8, 3, 9)
list2: (82, 7, 4, 2, 1, 6, 5, 0, 18)
The call interleave(list1, list2) should produce the following result:
(1, 82, 8, 7, 3, 4, 9, 2, 1, 6, 5, 0, 18)
Notice that the first four values of the two arrays have been interleaved
and the excess values from the second list (1, 6, 5, 0, 18) have been
included at the end of the result. In this case the second list was longer,
but it could be the case that the first list is longer. Either list could
also be empty, in which case the result should contain the values from the
other list. Notice that your method is to return a new array.
Write your solution to interleave below.