Einzelnen Beitrag anzeigen

tr909

Registriert seit: 5. Nov 2004
193 Beiträge
 
Turbo Delphi für Win32
 
#1

Quicksort ist zu langsam?

  Alt 3. Mai 2005, 07:53
Moin.

Evtl. wäre ja mal jemand so nett einen Blick auf folgenden Quicksort zu werfen. Das sortieren funktioniert richtig, nur ist es sehr langsam.


Der Aufruf erfolgt mit QuickSort(0, length(SortString));
SortString ist ein String

Code:
procedure TfrmSortAlg.QuickSort(l, r: integer);
var
  i, j: Integer;
  temp: char;
begin
  if (r > l) then
  begin
    i := l - 1;
    j := r;
    repeat
      repeat i := i + 1 until SortString[i] >= SortString[r];
      repeat j := j - 1 until SortString[j] <= SortString[r];
      if (j > i) then
      begin
        temp := SortString[i];
        SortString[i] := SortString[j];
        SortString[j] := temp;
      end;
    until (j <= i);
    temp := SortString[i];
    SortString[i] := SortString[r];
    SortString[r] := temp;
    quicksort(l, i - 1);
    quicksort(i + 1, r);
  end;
end;
Gruß
tr909
  Mit Zitat antworten Zitat