Answered step by step
Verified Expert Solution
Question
1 Approved Answer
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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started