Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi array of string sotieren (https://www.delphipraxis.net/103754-array-string-sotieren.html)

quendolineDD 21. Nov 2007 21:31

Re: array of string sotieren
 
Dies kann dadurch vermieden werden, das 'A' vor 'Ä' kommt aber 'A' gleichwertig mit 'a' ist.

ferby 21. Nov 2007 23:26

Re: array of string sotieren
 
danke für die Tips, aber ich hab das mit ner Stringlist gemacht,
das hat, warum auch immer, einen super neben effekt den ich auch noch gebraucht hätte:
Doppelte Einträge werden gelöscht :-)



Data.KAG steht die unsotierte Elemente in kag dann die sotierten

Delphi-Quellcode:
 kag:=TStringList.Create;
  kag.sorted := true;
  for i:=0 to anzahl_elemente-1 do kag.Add(DATA[i].KAG);

doppelte Einträge werden nicht angezeigt.

grenzgaenger 22. Nov 2007 00:19

Re: array of string sotieren
 
Zitat:

Zitat von quendolineDD
Mal als Anregung zum Fall Array.

Du kannst dir auch den vom Buchstaben zugehörigen ASCII-Code ermitteln, und eine temporäre Liste / 2dimensionales mit den ermittelten (nun Integer und somit vergleichbaren) Werten sortieren. In der ersten Spalte hast du den ermittelten Integer-Wert (ASCII-Code) und in der 2. Spalte den Index, von dem originalen Array.

So müsstest du doch auch Arrays of String sortieren können?!

nur mal so als hinweis, die tstringlist, ist 'n array mit methoden um dieses array of strings zu verwalten... also genau das richtige... oder zum selber schreiben ??? ;-)

MStoll 22. Nov 2007 00:41

Re: array of string sotieren
 
Hallo,

unabhängig vom Datentyp gibt's in der Code-Library 2 Beiträge mit allgemeinen Sortier-Möglichkeiten (einmal mit Objekten und einmal auf Pointer-Basis). Also einfach 'ne kleine Compare-Funktion schreiben (in diesem Fall für Strings) und dann ist man schon fertig.

Möglichkeit 1
Möglichkeit 2

Gruß
Michael

grenzgaenger 22. Nov 2007 00:53

Re: array of string sotieren
 
Zitat:

Zitat von MStoll
Hallo,

unabhängig vom Datentyp gibt's in der Code-Library 2 Beiträge mit allgemeinen Sortier-Möglichkeiten (einmal mit Objekten und einmal auf Pointer-Basis). Also einfach 'ne kleine Compare-Funktion schreiben (in diesem Fall für Strings) und dann ist man schon fertig.

Möglichkeit 1
Möglichkeit 2

Gruß
Michael

tja ganz so is es nicht. die sortieralgos die setzen bestimmte datentypen/-strukturen voraus damit sie effizient angewendet werden können. :mrgreen: :mrgreen:

MStoll 22. Nov 2007 00:59

Re: array of string sotieren
 
Zitat:

Zitat von grenzgaenger
Zitat:

Zitat von MStoll
Hallo,

unabhängig vom Datentyp gibt's in der Code-Library 2 Beiträge mit allgemeinen Sortier-Möglichkeiten (einmal mit Objekten und einmal auf Pointer-Basis). Also einfach 'ne kleine Compare-Funktion schreiben (in diesem Fall für Strings) und dann ist man schon fertig.

Möglichkeit 1
Möglichkeit 2

Gruß
Michael

tja ganz so is es nicht. die sortieralgos die setzen bestimmte datentypen/-strukturen voraus damit sie effizient angewendet werden können. :mrgreen: :mrgreen:

Wie meinste das genau?
Möglichkeit 2 setze ich bei allen möglichen Datentypen ein und das geht eigentlich immer sehr gut. Dazu braucht man nur ne Vergleichsfunktion, das Austauschen geht ja byteweise.

alzaimar 22. Nov 2007 08:06

Re: array of string sotieren
 
Na ja, wie wärs dann einfach mit einer TList und einem Sort? Dann spart man sich die ganze Rumkopiererei, die doch sowieso überflüssig ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr.
Seite 2 von 2     12   

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