1 25 41 package org.jgrapht.alg.util; 42 43 import org.jgrapht.*; 44 45 46 55 public class VertexDegreeComparator<V, E> 56 implements java.util.Comparator <V> 57 { 58 59 61 64 private UndirectedGraph<V, E> graph; 65 66 70 private boolean ascendingOrder; 71 72 74 81 public VertexDegreeComparator(UndirectedGraph<V, E> g) 82 { 83 this(g, true); 84 } 85 86 95 public VertexDegreeComparator( 96 UndirectedGraph<V, E> g, 97 boolean ascendingOrder) 98 { 99 graph = g; 100 this.ascendingOrder = ascendingOrder; 101 } 102 103 105 115 public int compare(V v1, V v2) 116 { 117 int degree1 = graph.degreeOf(v1); 118 int degree2 = graph.degreeOf(v2); 119 120 if ( 121 ((degree1 < degree2) && ascendingOrder) 122 || ((degree1 > degree2) && !ascendingOrder)) { 123 return -1; 124 } else if ( 125 ((degree1 > degree2) && ascendingOrder) 126 || ((degree1 < degree2) && !ascendingOrder)) { 127 return 1; 128 } else { 129 return 0; 130 } 131 } 132 } 133 | Popular Tags |