Matthias Frey
2013-03-22 19:36:14 UTC
Hallo,
ich schaue gerade die unit System.Generics.Collections (XE3) durch
und wundere mich, dass ich keine sortierte Liste finde.
In der Regel kann man zwar sortieren, aber nur mit einer separaten
Operation. Eine sortierte Liste oder gar einen AVL-Baum habe ich
dort nicht gefunden.
Ein TDictionary ist zwar schnell, aber auch nicht sortiert.
Ich habe noch eine alten Implementation einer sortierten Liste
ohne Generic (TStSortedCollection) in Verwendung und möchte die
nun ablösen.
Weiß oder hat jemand was?
Nachtrag: Habe da etwas gefunden:
http://code.google.com/p/delphi-coll/
Dort gibt es eine TSortedList<T>, aber die Implementation ist
nicht schnell: "Supports indexing, fast lookup and enumeration
operations, doesn't support sorting or reversing. Slower insert
times because of automated sorting. If you plan to use a list
that is always sorted, and if you don't plan on inserting or
removing a lot, then this is the best choice. If you need
sorted elements but need to insert/add/remove a lot, use
TList<T> and sort on demand."
Auch gibt es da noch: TSortedDictionary<TKey,TValue>
Die sieht recht gut aus. Was mich daran stört ist
a) die Lizenzbedingungen und
b) dass die Letzte Änderung von 2011 ist
Hat jemand Erfahrungen, Ideen, Meinungen?
Danke.
Matthias
ich schaue gerade die unit System.Generics.Collections (XE3) durch
und wundere mich, dass ich keine sortierte Liste finde.
In der Regel kann man zwar sortieren, aber nur mit einer separaten
Operation. Eine sortierte Liste oder gar einen AVL-Baum habe ich
dort nicht gefunden.
Ein TDictionary ist zwar schnell, aber auch nicht sortiert.
Ich habe noch eine alten Implementation einer sortierten Liste
ohne Generic (TStSortedCollection) in Verwendung und möchte die
nun ablösen.
Weiß oder hat jemand was?
Nachtrag: Habe da etwas gefunden:
http://code.google.com/p/delphi-coll/
Dort gibt es eine TSortedList<T>, aber die Implementation ist
nicht schnell: "Supports indexing, fast lookup and enumeration
operations, doesn't support sorting or reversing. Slower insert
times because of automated sorting. If you plan to use a list
that is always sorted, and if you don't plan on inserting or
removing a lot, then this is the best choice. If you need
sorted elements but need to insert/add/remove a lot, use
TList<T> and sort on demand."
Auch gibt es da noch: TSortedDictionary<TKey,TValue>
Die sieht recht gut aus. Was mich daran stört ist
a) die Lizenzbedingungen und
b) dass die Letzte Änderung von 2011 ist
Hat jemand Erfahrungen, Ideen, Meinungen?
Danke.
Matthias