Chris,
du solltest noch etwas sorgfältiger testen. Bei der binären Suche veränderst du die obere oder die untere Grenze - eine konstante untere Grenze 1 sieht irgendwie sehr willkürlich aus.
Delphi-Quellcode:
if list[tdx].n_name > nname
then Result := binsuche(nname, list, lBound, Pred(tdx))
else Result := binsuche(nname, list, Succ(tdx), uBound);
Und zumindest für die Suche eines Strings könntest du die Funktion noch verallgemeinern.
Gute Nacht
marabu