AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Sortierte TObjectList - Einträge richtig einfügen
Thema durchsuchen
Ansicht
Themen-Optionen

Sortierte TObjectList - Einträge richtig einfügen

Ein Thema von Benmik · begonnen am 17. Jul 2015 · letzter Beitrag vom 24. Sep 2015
 
Benmik

Registriert seit: 11. Apr 2009
570 Beiträge
 
Delphi 12 Athens
 
#12

AW: Sortierte TObjectList - Einträge richtig einfügen

  Alt 17. Jul 2015, 18:18
Beeindruckend, aber vielleicht ein bisschen l'art pour l'art? Es gibt auch auch die Frage, warum der Rüde sich die Eier leckt, aber die wollen wir jetzt nicht weiter vertiefen.

Wenn mich nicht alles täuscht, dann ist das letzte Vexierspielchen ja auch keine binäre Suche mehr, sondern eine einfache Interation?

Da der Abend hereinbricht, komme ich jetzt zu dem Schluss, dass mir die Lösungen aus #13 und #16 am einfachsten erscheinen, die #13 ist kürzer, die #16 wohl sauberer. Für mich wird es wohl (aber man weiß, Sir Rufos Trickkiste ist noch lange nicht leer) eine modifizierte Form werden:
Delphi-Quellcode:
function TZielListe.SucheWert(const Wert:string;var P:Integer):Boolean;
var LItem:TZiel;
begin
  LItem := TZiel.Create;
  try
    LItem.Wert := Wert;
    Result := BinarySearch(
      LItem, p,
      TComparer<TZiel>.Construct(
        function (const L, R: TZiel): Integer
        begin
          Result := AnsiCompareText(L.Wert,R.Wert);
        end ));
  finally
    LItem.Free;
  end;
end;
So bekomme ich mit p auch das gefundene Element oder im Negativfalle die Einfügeposition zurück.
Eigentlich spricht auch nichts gegen die Dummy-Lösung, man spart sich das Create und Free und initialisert wegen des Compiler-Gemeckers einfach mit nil.
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:17 Uhr.
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-2025 by Thomas Breitkreuz