![]() |
Re: Binäre Suche
Na das sieht doch schon ganz gut aus. :P
|
Re: Binäre Suche
... sooo, nun eine kleine Kritik.
:cheer: Ex-CodeGear! Her mit den Generics! Aber zack! Zack! :cheer: |
Re: Binäre Suche
Zitat:
Delphi-Quellcode:
Gruß GammatesterL := Low(AArray); R := High(AArray); |
Re: Binäre Suche
Och.. äh... Spießer.. :thumb:
|
Re: Binäre Suche
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo sx2008,
ich hab mir Deine Demo einmal angeschaut, und bin bei der Stringsuche irgenwie in der Botanik gelandet. Ich hab dann ein wenig angepasst und jetzt läufts. Gruß K-H |
Re: Binäre Suche
Zitat:
Delphi-Quellcode:
Beim Tauschen wird der Pivotindex nicht angepaßt, vgl
procedure TBSearch.QuickSort(L, R: Integer);
var I, J, P: Integer; begin repeat I := L; J := R; P := (L + R) shr 1; repeat while Compare(I, P) < 0 do Inc(I); while Compare(J, P) > 0 do Dec(J); if (I <= J) then begin Exchange(I, J); Inc(I); Dec(J); end; until (I > J); if (L < J) then QuickSort(L, J); L := I; until (I >= R); end; ![]() Nach Exchange sollte also eingefügt werden
Delphi-Quellcode:
Luckies Routine hat das Problem nicht, da direkt mit einem Array gearbeitet wird.
{P muss weiter auf Pivot zeigen}
if I=P then P:=J else if J=P then P:=I; Gruß Gammatester |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz