Java Reference
In-Depth Information
FIGURE 16-4
Recursively adding a node between existing nodes in a chain
(a) As
add("Luke", firstNode)
begins execution
firstNode
Sue
Bob
Jill
Mike
currentNode
(b) As the recursive call
add("Luke", currentNode.getNextNode())
begins execution
firstNode
Bob
Jill
Mike
Sue
currentNode
(c) As the recursive call
add("Luke", currentNode.getNextNode())
begins execution
firstNode
Bob
Jill
Mike
Sue
currentNode
(d) After a new node is created (the base case)
firstNode
Jill
Sue
Bob
Mike
currentNode
Luke
The private method returns the
reference that is in
currentNode
(e) After the returned reference is assigned to
nodeAfter
firstNode
Bob
Jill
Mike
Sue
currentNode
nodeAfter
Luke
(f) After
currentNode.setNextNode(nodeAfter)
executes
firstNode
Bob
Jill
Mike
Sue
currentNode
Luke