Site Search:

Edge.java

public class Edge implements Comparable<Edge>{
    private final int v;
    private final int w;
    private final double weight;
    public Edge(int v, int w, double weight) {
        this.v = v;
        this.w = w;
        this.weight = weight;
    }
    public double weight() {
        return weight;
    }
    public int either() {return v;}
    public int other(int x) {
        if(x==v) return w;
        else if(x==w) return v;
        else throw new RuntimeException("Inconsistant Edge");
    }
    public int compareTo(Edge that) {
        if(this.weight() < that.weight) return -1;
        else if(this.weight() > that.weight()) return 1;
        else return 0;
    }
    public String toString() {
        return String.format("%d-%d %.2f", v, w, weight);
    }
}