logo CodeStepByStep logo

collapse

Language/Type: C++ collections Stack Queue
Related Links:

Write a function named collapse that takes a reference to a stack of integers as a parameter and that collapses it by replacing each successive pair of integers with the sum of the pair. For example, suppose a stack stores these values (shown from bottom → top):

{7, 2, 8, 9, 4, 13, 7, 1, 9, 10}

The first pair should be collapsed into 9 (7 + 2), the second pair should be collapsed into 17 (8 + 9), the third pair should be collapsed into 17 (4 + 13) and so on to yield:

{9, 17, 17, 8, 19}

If the stack stores an odd number of elements, the final element is not collapsed. For example, the stack:

{1, 2, 3, 4, 5}

would collapse into:

{3, 7, 5}

With the 5 at the top of the stack unchanged. You may use one stack or queue as auxiliary storage.

Function: Write a C++ function as described, not a complete program.

You must log in before you can solve this problem.

Log In

Need help?

Stuck on an exercise? Contact your TA or instructor.

If something seems wrong with our site, please

Is there a problem? Contact us.