package GPL;
// **********************************************************************
public class Graph
{
public void GraphSearch( WorkSpace w )
{
// Step 1: initialize visited member of all nodes
VertexIter vxiter = getVertices( );
if ( vxiter.hasNext( ) == false )
{
return; // if there are no vertices return
}
// Initializing the vertices
while( vxiter.hasNext( ) )
{
Vertex v = vxiter.next( );
v.init_vertex( w );
}
// Step 2: traverse neighbors of each node
for( vxiter = getVertices( ); vxiter.hasNext( ); )
{
Vertex v = vxiter.next( );
if ( !v.visited )
{
w.nextRegionAction( v );
v.nodeSearch( w );
}
}
}
}