public Object next() { boolean progress = true; while (hasNext()) { if (!current.hasNext()) { if (!progress) break; progress = false; current = vertices.listIterator(); } Object vertex = current.next(); InDegree indegree = (InDegree)inDegrees.get(vertex); if (indegree.value == 0) { removeVertex(vertex); current.remove(); return vertex; } } return null; }
IndegreeTopologicalSort sorter = new IndegreeTopologicalSort( pkDependencyGraph); while (sorter.hasNext()) indexedDbEntities.put(sorter.next(), new Integer(index++)); IndegreeTopologicalSort sorter = new IndegreeTopologicalSort( contractedDigraph); while (sorter.hasNext()) { Collection component = (Collection) sorter.next(); for (Iterator i = component.iterator(); i.hasNext();)
IndegreeTopologicalSort sorter = new IndegreeTopologicalSort( pkDependencyGraph); while (sorter.hasNext()) indexedDbEntities.put(sorter.next(), new Integer(index++)); IndegreeTopologicalSort sorter = new IndegreeTopologicalSort( contractedDigraph); while (sorter.hasNext()) { Collection component = (Collection) sorter.next(); for (Iterator i = component.iterator(); i.hasNext();)
components = new HashMap(contractedReferentialDigraph.order()); int componentIndex = 0; while (sorter.hasNext()) { Collection component = (Collection) sorter.next(); ComponentRecord rec = new ComponentRecord(componentIndex++, component);
components = new HashMap(contractedReferentialDigraph.order()); int componentIndex = 0; while (sorter.hasNext()) { Collection component = (Collection) sorter.next(); ComponentRecord rec = new ComponentRecord(componentIndex++, component);
private void init(Digraph digraph) { vertexRankMap = new HashMap(digraph.order()); IndegreeTopologicalSort traversal = new IndegreeTopologicalSort(digraph); while (traversal.hasNext()) { Object vertex = traversal.next(); int rank = -1; for (ArcIterator i = digraph.incomingIterator(vertex); i.hasNext(); ) { i.next(); Object predecessor = i.getOrigin(); int predRank = intValue(predecessor); if (predRank < 0) throw new ArithmeticException("Ranking failed."); rank = Math.max(rank, predRank); } rank++; assignRank(vertex, rank); } }
Map indexMap = new HashMap(); int sortIndex = 0; while (sorter.hasNext()) { indexMap.put(sorter.next(), new Integer(sortIndex++));
objectDependencyGraph); while (sorter.hasNext()) { DataObject o = (DataObject) sorter.next(); if (o == null)
objectDependencyGraph); while (sorter.hasNext()) { DataObject o = (DataObject) sorter.next(); if (o == null)