[Home]
[Chapter]
[Contents]
[Previous Algorithm]
[Next Algorithm]


Heap insertion


procedure siftup( var r : RecordArray; i,n : integer ); var j : integer; tempr : ArrayEntry; begin while 2*i<=n do begin j := 2*i; if j<n then if r[j].k < r[j+1].k then j := j+1; if r[i].k < r[j].k then begin tempr := r[j]; r[j] := r[i]; r[i] := tempr; i := j end else i := n+1 end end;

C source (513.sift.c) Pascal source (513.sift.p)



© Addison-Wesley Publishing Co. Inc.