procedure num_heap_sort(var num:real_array;n:integer); var i,j,r,l:integer; temp:real; not_ready:boolean; begin if n>0 then begin l:=n div 2+1; r:=n; repeat if l>1 then l:=l-1 else if r>1 then begin temp:=num[l]; num[l]:=num[r]; num[r]:=temp; r:=r-1; end; i:=l; j:=2*i; temp:=num[i]; not_ready:=(j<=r); while not_ready do begin if j: n < 1 '); end;