diff --git a/a3/program.c b/a3/program.c index 919caa9..59c50e7 100644 --- a/a3/program.c +++ b/a3/program.c @@ -68,12 +68,7 @@ void add(struct heap* h,int value){ h->size += 1; h->array[i] = value; // Pozrieme na jeho rodiča - int p = parent(i); - - while(h->array[i] < h->array[p]) { // i 0 — мы в корне - swap(h->array,i, p); - i = parent(i); - } + } void print(struct heap* h,int count_spaces,int index){ @@ -94,6 +89,15 @@ void print(struct heap* h,int count_spaces,int index){ } +void sort(struct heap *h){ + int i = h->size-1; + int p = parent(i); + + while(h->array[i] < h->array[p]) { // i 0 — мы в корне + swap(h->array,i, p); + i = parent(i); + } +} int main(){ int i =0;//index of array @@ -110,7 +114,7 @@ int main(){ } check_heap_property(h); - + sort(h); puts("Je to taka kopa:"); print(h,0,0);