Einzelnen Beitrag anzeigen

Zottel
(Gast)

n/a Beiträge
 
#3

Re: Sortierung eines RECORD-Arrays

  Alt 11. Feb 2006, 18:40
Delphi-Quellcode:
procedure DOQuickSort(X: array of Integer);
  procedure QuickSort(var A: array of Integer; iLo, iHi: Integer);
  var
    Lo, Hi : Integer;
    Mid, T : Integer; //angleichen
  begin
    Lo := iLo;
    Hi := iHi;
    Mid := A[(Lo + Hi) div 2];
    repeat
      while A[Lo] < Mid do
        Inc(Lo);
      while A[Hi] > Mid do
        Dec(Hi);
      if Lo <= Hi then
      begin
        T := A[Lo];
        A[Lo] := A[Hi];
        A[Hi] := T;
        Inc(Lo);
        Dec(Hi);
      end;
    until Lo > Hi;
    if Hi > iLo then QuickSort(A, iLo, Hi);
    if Lo < iHi then QuickSort(A, Lo, iHi);
  end;
begin
  QuickSort(x, Low(x), High(x));
end;
Die Routine einfach angleichen. ist eigendlich eine recht schnelle.
Sollte damit keine probleme geben.
  Mit Zitat antworten Zitat