1 25 43 package org.jgrapht.traverse; 44 45 import java.util.*; 46 47 import org.jgrapht.*; 48 49 50 59 public class BreadthFirstIterator<V, E> 60 extends CrossComponentIterator<V, E, Object > 61 { 62 63 65 70 private LinkedList<V> queue = new LinkedList<V>(); 71 72 74 79 public BreadthFirstIterator(Graph<V, E> g) 80 { 81 this(g, null); 82 } 83 84 94 public BreadthFirstIterator(Graph<V, E> g, V startVertex) 95 { 96 super(g, startVertex); 97 } 98 99 101 104 protected boolean isConnectedComponentExhausted() 105 { 106 return queue.isEmpty(); 107 } 108 109 112 protected void encounterVertex(V vertex, E edge) 113 { 114 putSeenData(vertex, null); 115 queue.add(vertex); 116 } 117 118 121 protected void encounterVertexAgain(V vertex, E edge) 122 { 123 } 124 125 128 protected V provideNextVertex() 129 { 130 return queue.removeFirst(); 131 } 132 } 133 | Popular Tags |