From 433883ea70792237a0aa9b81a7b7049773d83130 Mon Sep 17 00:00:00 2001 From: "tanguy.dietrich" <tanguy.dietrich@etu.hesge.ch> Date: Sat, 2 Nov 2019 13:27:53 +0100 Subject: [PATCH] Ecriture de quelque fonction basique --- .../java/ch/hepia/structure/BinaryHeap.java | 50 ++++++++++++++++++- 1 file changed, 48 insertions(+), 2 deletions(-) diff --git a/src/main/java/ch/hepia/structure/BinaryHeap.java b/src/main/java/ch/hepia/structure/BinaryHeap.java index 099b0fa..1262837 100644 --- a/src/main/java/ch/hepia/structure/BinaryHeap.java +++ b/src/main/java/ch/hepia/structure/BinaryHeap.java @@ -5,9 +5,55 @@ import java.util.ArrayList; import java.util.function.DoubleFunction; import java.util.function.Function; -final public class BinaryHeap { +final public class BinaryHeap +{ + final private List<Integer> lstBinaryHeap; + private BinaryHeap() + { + lstBinaryHeap=new ArrayList<Integer>(); + } + + public void push(int value) + { + + } + + private int getRightNodeIndex(int index) + { + return (2*index)+1; + } + + private int getLeftNodeIndex(int index) + { + return (2*index)+2; + } - private BinaryHeap() { + private int getParentNodeIndex(int index) + { + return (index-1) / 2; + } + + private int getRightNodeValue(int index) + { + return this.get(this.getRightNodeIndex(index)); + } + + private int getLeftNodeValue(int index) + { + return this.get(this.getLeftNodeIndex(index)); + } + + private int getParentNodeValue(int index) + { + return this.get(this.getParentNodeIndex(index)); + } + private int get(int index) + { + return this.lstBinaryHeap.get(index); + } + private void set(int index, int val) + { + this.lstBinaryHeap.set(index,val); } } -- GitLab