rendered paste bodyprivate void breadthFirstSearch() {
ReachableSet reachset = new ArrayListReachableSet();
Queue q = new FleXQueue();
reachset.add(start);
if(goal.matches(start.getData()))
{
goalReachable = true;
reachableSet = reachset;
return;
}
q.enqueue(start);
MultiNode u;
ArrayList<MultiNode> forwardNhbrs;
boolean exists;
while (q.size() != 0)
{
u = (MultiNode) q.dequeue();
forwardNhbrs = u.getFwd();
exists = false;
for (int i =0; i < forwardNhbrs.size(); i ++)
{
for (int j=0; j< reachset.size(); j++)
{
if (forwardNhbrs.get(i).equals(reachset.get(j)))
{
exists = true;
}
if (!exists)
{
MultiNode temp = forwardNhbrs.get(i);
temp.setDistance(temp.getDistance()+1);
reachset.add(temp);
if (goal.matches(temp.getData()))
{
goalReachable = true;
reachableSet = reachset;
return;
}
q.enqueue(temp);
}
}
}
}
} // end of breadthFirstSearch