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]