I nie ostatni.....Poki mnie Adinistrator z forum nie wyrzuci :))) Chodi o to, ze pare osob pisalo do mnie (thnx za wszystkie mejle...) o tym, czy nie da siem tego zrobic bez rekurencji... Otoz da siem.
Wystarczy mala przerobka procedury Heapify. W moim komponencie to wyglonda tak:

procedure THSortA.Heapify(i :Integer);
var
l,r :Integer;
Max :Integer;
q :Integer;
begin
Max:=i;
repeat
i:=Max;
l:=Left(i);
r:=Right(i);
if (l&lt=Size) and (Heap[l]&gtHeap[i]) then
Max:=l
else
Max:=i;
if (r&lt=Size) and (Heap[r]&gtHeap[Max])then
Max:=r;
if Max&lt&gti then
begin
q:=Heap[i];
Heap[i]:=Heap[Max];
Heap[Max]:=q;
end;
until Max=i;
end;

Da siem takze poprawic pod tym wzglendem QuickSorta. Ale na dzis nie jestem przygotowany.... :))--Delphi 4

Skysh The God, Your Slave