Ich habe eine binäre Suche für eine Objektliste genutzt.
Beim Einfügen wird geprüft, ob der Wert (das Objekt) schon existiert.
Sonst wird der Index des nächsten Wertes zurückgegeben.
An die Stelle wird dann der neue Wert eingefügt.
Die Suche ist auch sehr schnell.
Das lässt sich sicher noch etwas anpassen.
http://www.delphipraxis.net/1244470-post11.html
Gibt es dafür noch bessere Lösungen?