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