Chapter 6
Chapter 6
Chapter 6
Recursion
Objectives
• Infinite recursion
– Occurs if every recursive call results in another
recursive call
– Executes forever (in theory)
– Call requirements for recursive functions
• System memory for local variables and formal
parameters
• Saving information for transfer back to right caller
– Finite system memory leads to
• Execution until system runs out of memory
• Abnormal termination of infinite recursive function
Data Structures Using C++ 2E 9
Recursive Definitions (cont’d.)
• Function reversePrint
– Given list pointer, prints list elements in reverse order
• Figure 6-5 example
– Links in one direction
– Cannot traverse backward starting from last node