See More

package Graph; import java.util.*; public class DirectedGraph { private int edges; private int vertices; private ArrayList[] adj; @SuppressWarnings("unchecked") public DirectedGraph(int v) { edges = 0; vertices = v; adj = (ArrayList[])new ArrayList[v]; for (int i = 0; i < v; i++) { adj[i] = new ArrayList(); } } public void addEdge(int v, int w) { adj[v].add(w); edges++; } public Iterable adj(int v) { return adj[v]; } public int V() { return vertices; } public int E() { return edges; } }