Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void build_max_heap(Heap *T){
- int i;
- T->heap_size=T->lenght;
- for(i=T->lenght/2;i>1;i++){
- max_heapify(T,i);
- }
- }
- void max_heapify(Heap *T,int i){
- int l,r,L;
- l=left(i);
- r=right(i);
- if(l<=T->heap_size && T->data[l]>T->data) L=l;
- else L=i;
- if(r<=T->heap_size && T->data[r] > T->data[L]) L=r;
- if(L!=i){
- int tmp=T->data[i];
- T->data[i]=T->data[L];
- T->data[L]=tmp;
- max_heapify(&T,L);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement