import java.util.*; public class ColourComparator implements Comparator { public int compare(Object o1, Object o2){ Vertex u = (Vertex) o1; Vertex v = (Vertex) o2; if (u.getColour() < v.getColour() || u.getColour() == v.getColour() && u.getDegree() > v.getDegree() || u.getColour() == v.getColour() && u.getDegree() == v.getDegree() && u.getIndex() < v.getIndex()) return -1; /* if (u.getColour() < v.getColour() || u.getColour() == v.getColour() && u.getDegree() > v.getDegree() || u.getColour() == v.getColour() && u.getDegree() == v.getDegree() && u.getIndex() < v.getIndex()) return 1; */ /* if (u.getColour() > v.getColour() || u.getColour() == v.getColour() && u.getDegree() < v.getDegree() || u.getColour() == v.getColour() && u.getDegree() == v.getDegree() && u.getIndex() > v.getIndex()) return -1; */ return 1; } // // to sort vertices by decreasing colour tie -breaking on low degree // }