Drei Anmerkungen:
1. Es meist sinnvoll, Standardbezeichnungen zu verwenden, dann kann man fremden Code besser verstehen.
2. Ich würde mich wundern, wenn man ohne Vertauschungen auskommt.
3. Wenn Dein Algorithmus halbwegs Heapsort sein soll, muß noch eine zweite Phase in
heapen auftreten, etwa so (
Tausche mußt Du programmieren):
Delphi-Quellcode:
procedure heapen(var Feld:TFeld);
var
i:integer;
begin
for i:= ((anzahl DIV 2)-1) downto 1 do HeapBauen(Feld,1,Anzahl);
for i:=anzahl downto 2 do begin
Tausche(Feld[1], Feld[i])
HeapBauen(Feld,1,i-1);
end;
end.
Gruß Gammatester