public List<Object> idsByDFSFinishTime(boolean increasing){
  if (!initialized) {
    throw new IllegalArgumentException();
  }
  int len=vertexList.size();
  Object[] r=new Object[len];
  for (Iterator<Vertex> allV=vertexList.iterator(); allV.hasNext(); ) {
    Vertex vertex=allV.next();
    int f=vertex.finishTime;
    if (increasing) {
      r[f - 1]=vertex.id;
    }
 else {
      r[len - f]=vertex.id;
    }
  }
  return Arrays.asList(r);
}

public List < Object > idsByDFSFinishTime ( boolean increasing ) { if ( ! initialized ) { throw new IllegalArgumentException ( ) ; } int len = vertexList . size ( ) ; Object [ ] r = new Object [ len ] ; for ( Iterator < Vertex > allV = vertexList . iterator ( ) ; allV . hasNext ( ) ; ) { Vertex vertex = allV . next ( ) ; int f = vertex . finishTime ; if ( increasing ) { r [ f - 1 ] = vertex . id ; } else { r [ len - f ] = vertex . id ; } } return Arrays . asList ( r ) ; }
returns the ids of the vertexes in this graph ordered by depth - first search finish time . the graph must be frozen .
