Implement Launch.main() and BinaryHeap.remove()

This commit is contained in:
Yohan Simard 2020-03-25 18:55:34 +01:00
parent bda9d62799
commit 53e9facf47
2 changed files with 14 additions and 11 deletions

View file

@ -137,7 +137,11 @@ public class BinaryHeap<E extends Comparable<E>> implements PriorityQueue<E> {
@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

View file

@ -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);
}
}