All pastes #244018 Raw Edit

Untitled

public text v1 · immutable
#244018 ·published 2006-11-09 04:44 UTC
rendered paste body
private 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