From c3e188aab2dfc5de0ff12e4eb2f15bc520518163 Mon Sep 17 00:00:00 2001 From: moll Date: Thu, 16 Apr 2026 09:09:27 +0200 Subject: [PATCH] done remove() --- .../java/org/insa/graphs/algorithm/utils/BinaryHeap.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 a5073cd..74bcc93 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 @@ -134,7 +134,13 @@ public class BinaryHeap> implements PriorityQueue { @Override public void remove(E x) throws ElementNotFoundException { - // TODO: + int index = this.array.indexOf(x); + if (index == -1 || index >= this.currentSize) { throw new ElementNotFoundException(x); } + E lastItem = this.array.get(--this.currentSize); + this.arraySet(index, lastItem); + this.percolateUp(index); + index = this.array.indexOf(lastItem); + this.percolateDown(index); } @Override