AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Array of tstringlist per quicksort sortieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array of tstringlist per quicksort sortieren

Ein Thema von Jan · begonnen am 13. Feb 2003 · letzter Beitrag vom 15. Feb 2003
 
Benutzerbild von Jan
Jan

Registriert seit: 24. Sep 2002
Ort: Magdeburg
491 Beiträge
 
Delphi 7 Enterprise
 
#1

Array of tstringlist per quicksort sortieren

  Alt 13. Feb 2003, 20:44
Hallo DP,
mein Problem schildert sich wie folgt:
Ich habe ein 2-dimensionales dynamisches array, welches so definiert ist:

Code:
workarray : array of tstringlist;
Und nun will ich anhand eines Kriteriums in den stringlists meinen array (z.B. workarray[i][2]) sortieren, undzwar per quicksort.
Ich sortiere also nicht einfach nur array[i] sondern ich sortiere array[i] anhand von dem was in array[i][2] steht.

Ich habe dazu den Code aus der DP-Code library für quicksort umgeschrieben, und erhalte dies:

Code:
Procedure tform1.QuickSort( l,r : Integer );
var i : Integer;
Begin
  If (r > l) Then
  Begin
    i:= Partition( l, r);
    QuickSort( l, i-1 );
    QuickSort( i+1, r );
  End;
End;

Function tform1.Partition( l,r : Integer ) : Integer;
var i,j : Integer;
    v    : string;
    t    : tstringlist;
Begin
  t:=tstringlist.Create;
  v:= workarray[r][1];
  i:= l-1;
  j:= r;
  Repeat
    Repeat inc( i ); Until (workarray[i][1] >= v);
    Repeat dec( j ); Until (workarray[j][1] <= v);
    t:= workarray[i]; workarray[i]:= workarray[j]; workarray[j]:= t;
  Until (j<=i);

  workarray[j]:= workarray[i]; workarray[i]:= workarray[r]; workarray[r]:= t;
  Result:= i;
  t.free;
End;
Im Moment bekomme ich einen Fehler, der so heisst:

"Listenindex überschreitet das Maximum (1)".

könnte mir vielleicht jemand sagen woher das kommt? Und wenn ich das weiss, koennte mir dann vielleicht auch noch jemand sagen, ob das so, wie ich das da geschrieben habe überhaupt klappen kann?

Gruß
Jan
Jan
Wenn die Sonne der Kultur tief steht, werfen auch kleine Gestalten lange Schatten.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz