Question: public Location getNextLocation ( ) { if ( currentLocation = = null ) { currentLocation = locationsTree.getRoot ( ) ; } else { currentLocation =
public Location getNextLocation
if currentLocation null
currentLocation locationsTree.getRoot;
else
currentLocation getNextInLevelOrderlocationsTreegetRoot currentLocation;
return currentLocation null currentLocation.getData : null;
public Location getPreviousLocation
if currentLocation null
currentLocation locationsTree.getRoot;
else
currentLocation getPreviousInLevelOrderlocationsTreegetRoot currentLocation;
return currentLocation null currentLocation.getData : null;
private TNode getNextInLevelOrderTNode root, TNode currentNode
LinkedQueue queue new LinkedQueue;
boolean foundCurrent false;
if root null
return null;
queue.enqueueroot;
while queue.isEmpty
TNode node queue.dequeue;
if foundCurrent
return node;
if node currentNode
foundCurrent true;
if nodegetLeft null
queue.enqueuenodegetLeft;
if nodegetRight null
queue.enqueuenodegetRight;
return null;
private TNode getPreviousInLevelOrderTNode root, TNode currentNode
LinkedQueue queue new LinkedQueue;
TNode previousNode null;
if root null
return null;
queue.enqueueroot;
while queue.isEmpty
TNode node queue.dequeue;
if node currentNode
return previousNode;
previousNode node;
if nodegetLeft null
queue.enqueuenodegetLeft;
if nodegetRight null
queue.enqueuenodegetRight;
return null;
there is a problem in navigation level by level and from left to right here
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
