// ---------------------
// GraphEdgeVisitor.java
// ---------------------
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
final class GraphEdgeVisitor implements GraphVisitor {
private int[] a;
public GraphEdgeVisitor (int s) {
a = new int[s];
Arrays.fill(a, -1);}
public int[] pred () {
return a;}
public List<Integer> path (int u, int v) {
final LinkedList<Integer> lli = new LinkedList<Integer>();
lli.addFirst(v);
while (u != v) {
final int w = a[v];
lli.addFirst(w);
v = w;}
return lli;}
public void visit (int u, int v) {
a[v] = u;}}
syntax highlighted by Code2HTML, v. 0.9.1