From a92c360634f46212829bea03d82701dab7507e55 Mon Sep 17 00:00:00 2001 From: GrandeEnriqson <56075347+GrandeEnriqson@users.noreply.github.com> Date: Thu, 3 Oct 2019 22:58:58 -0300 Subject: [PATCH] Create Heap(cpp) --- Heap(cpp) | 82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Heap(cpp) diff --git a/Heap(cpp) b/Heap(cpp) new file mode 100644 index 0000000..ee5d87c --- /dev/null +++ b/Heap(cpp) @@ -0,0 +1,82 @@ +class heap{ + public: + int *arr=NULL; + int tam; + + heap(){ + arr=new int[1]; + tam=0; + } + + void bottomup(int *inn,int n){ + this->arr=inn; + int i; + int k; + int v; + bool h; + for(i=n/2;i>=1;i--){ + k=i; + v=arr[k]; + h=false; + while(!h&&2*k<=n){ + int j=2*k; + if(j=inn[j]){ + h=true; + } + else{ + arr[k]=arr[j]; + k=j; + } + } + arr[k]=v; + } + } + + void insert(int k){ + tam++; + realloc(arr,1+tam); + arr[tam]=k; + //cout<=1&&arr[f]