ho provato ad implementare questa funzione all'interno di un esercizio ma non funziona, il problema è che quando va a ripristinare l'heap a volte considera elementi che invece non dovrebbe considerare, come mai???
Heap sort:
Atoh:codice:void heapsort(int a[],int n) { int k=n-1; while(k>0) { printf("- a[0]: %d a[%d]: %d\n\n",a[0],k,a[k]); swap(&a[0],&a[k]); k--; boh(a,k); stamp(a,n); } }
mi sto scervellandocodice:void atoh(int a[],int n) { int f=n; /*bottom-up*/ while(f>0) {heapify(a,f);f--;} /*top-down*/ while(f<n) {heapify(a,f);f++;} }![]()

Rispondi quotando