Skip to content

Instantly share code, notes, and snippets.

@zacharycarter
Created November 25, 2016 06:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zacharycarter/c22c6a1d2867ca0e2ccfb2bf30b47b84 to your computer and use it in GitHub Desktop.
Save zacharycarter/c22c6a1d2867ca0e2ccfb2bf30b47b84 to your computer and use it in GitHub Desktop.
TreeMap<Integer, List<Node>> nodesSortedByLevel = sc.roomGraph.getNodesSortedByLevel();
Iterator<Map.Entry<Integer, List<Node>>> nodesSortedByLevelIterator = nodesSortedByLevel.entrySet().iterator();
while(nodesSortedByLevelIterator.hasNext()) {
Map.Entry<Integer, List<Node>> e = nodesSortedByLevelIterator.next();
for(Node n : e.getValue()) {
if(n.getParent() == null && e.getKey() != 0) {
for(Edge edge : n.getNeighbors()) {
if(nodesSortedByLevel.get(e.getKey()-1).contains(edge.getNeighbor(n)))
n.setParent(edge.getNeighbor(n));
}
}
for(Edge edge : n.getNeighbors()) {
if(edge.getNeighbor(n).getLevel() == n.getLevel()+1)
n.getChildren().add(edge.getNeighbor(n));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment