package DirectedGraphJava; import java.util.Iterator; interface IDirectedGraph { public DirectedGraph reindex(); public Integer numVertices(); public Integer numEdges(); public Iterator vertices(); public Iterator,Integer>> edges(); public boolean isEdge(Integer v1, Integer v2); public int inDegree(Integer v); public int outDegree(Integer v); public Iterator inbounds(Integer v); public Iterator outbounds(Integer v); public Integer weight(Integer v1, Integer v2); public void weight(Integer v1, Integer v2, Integer w); public void addVertex(Integer v); public void removeVertex(Integer v); public void addEdge(Integer v1, Integer v2, Integer w); public void removeEdge(Integer v1, Integer v2); }