Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#2

Re: Heapsort funktioniert nicht

  Alt 18. Mai 2008, 18:45
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
  Mit Zitat antworten Zitat