Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
13. Apr 2010
Ja, denn die StringList hat für eine sortierte Liste eine besserer Suchmethode, welche durchschnittlich mit nur Log2(SL.Count div 2) Vergleichen einen String in der Liste finden kann.
Wärend es, bei einer unsortierten Liste, durchschnittlich (SL.Count div 2) Vergleiche nötig sind,
da im Extrem alle Strings/Zeilen geprüft werden müssen.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
13. Apr 2010
Das ist etwas, welches ständig erwähnt wird. :warn:
Wenn der Index (hier y) über eine For-Schleife durchgezählt wird,
dann Löschen immer rückwärts
und Einfügen immer vorwärts,
(beim bloßen Verändern des Inhalts der Einträge ist es egal)
denn durch diese Operationen verschieben sich die Indize der Einträge.
Oder man nutzt eine While-Schleife und paßt den Index an.
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
12. Apr 2010
Wo werden diese Listen denn erstellt?
Sowas sollte immer besser logisch zusammenhängend erstellt und freigegeben werden.
Hier hast'e es ja wohl selber mitbekommen :-D
If AnsiPos(...) <> 0 then
Forum: Object-Pascal / Delphi-Language
Delphi
by himitsu,
11. Apr 2010
PS: Threads für soeine sequentielle Abarbeitung sind nicht sonderlich einfach zu handhaben ... wie will man das aufsplitten?
Einzige Lösung für Threads:
- die Liste wo gelöscht werden soll müßte aufgeteilt werden
- dann werden die Teile jeweils in einem Thread verarbeitet
- und am Ende müßten die Ergebnisse wieder zusammengeführt werden
> das alles sollte aber nicht sonderlich lange...