diff --git a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeap.java b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeap.java index 2c1a239..6316ea5 100644 --- a/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeap.java +++ b/be-graphes-algos/src/main/java/org/insa/graphs/algorithm/utils/BinaryHeap.java @@ -137,7 +137,11 @@ public class BinaryHeap> implements PriorityQueue { @Override public void remove(E x) throws ElementNotFoundException { - // TODO: + int index = array.indexOf(x); + if (index == -1 || index >= currentSize) throw new ElementNotFoundException(x); + arraySet(index, array.get(--currentSize)); + percolateUp(index); + percolateDown(index); } @Override diff --git a/be-graphes-gui/src/main/java/org/insa/graphs/gui/simple/Launch.java b/be-graphes-gui/src/main/java/org/insa/graphs/gui/simple/Launch.java index 7be58b3..ae9f405 100644 --- a/be-graphes-gui/src/main/java/org/insa/graphs/gui/simple/Launch.java +++ b/be-graphes-gui/src/main/java/org/insa/graphs/gui/simple/Launch.java @@ -14,6 +14,7 @@ import org.insa.graphs.gui.drawing.components.BasicDrawing; import org.insa.graphs.model.Graph; import org.insa.graphs.model.Path; import org.insa.graphs.model.io.BinaryGraphReader; +import org.insa.graphs.model.io.BinaryPathReader; import org.insa.graphs.model.io.GraphReader; import org.insa.graphs.model.io.PathReader; @@ -46,28 +47,26 @@ public class Launch { public static void main(String[] args) throws Exception { // Visit these directory to see the list of available files on Commetud. - final String mapName = "/home/commetud/3eme Annee MIC/Graphes-et-Algorithmes/Maps/insa.mapgr"; - final String pathName = "/home/commetud/3eme Annee MIC/Graphes-et-Algorithmes/Paths/path_fr31insa_rangueil_r2.path"; + final String mapName = "maps/insa.mapgr"; + final String pathName = "maps/path_fr31insa_rangueil_insa.path"; // Create a graph reader. final GraphReader reader = new BinaryGraphReader( new DataInputStream(new BufferedInputStream(new FileInputStream(mapName)))); - // TODO: Read the graph. - final Graph graph = null; + final Graph graph = reader.read(); // Create the drawing: final Drawing drawing = createDrawing(); - // TODO: Draw the graph on the drawing. + drawing.drawGraph(graph); - // TODO: Create a PathReader. - final PathReader pathReader = null; + final PathReader pathReader = new BinaryPathReader( + new DataInputStream(new BufferedInputStream(new FileInputStream(pathName)))); - // TODO: Read the path. - final Path path = null; + final Path path = pathReader.readPath(graph); - // TODO: Draw the path. + drawing.drawPath(path); } }