mehrere Instanzen vergleichen



  • Hallo,

    ich hab beispielsweise ein Brettlager.
    Jedes Brett hat eine Länge und einen Typ(z.b.Eiche,Mahagoni)
    Ich lese beispielsweise 50 Bretter ein. (hab 50 Instanzen)
    Und würde gerne mit einer Methode ein bestimmtes Brett mit einer Länge suchen.
    Wie kann ich jetzt ohne jede einzelne Instanz manuell abzufragen, alle auf einmal abfragen.

    Danke.


  • Mod

    Pokerface schrieb:

    Wie kann ich jetzt ohne jede einzelne Instanz manuell abzufragen, alle auf einmal abfragen.

    Wie würdest du es im echten Leben machen?



  • Ich würde ins Lager gehen und suchen.
    Evtl hätte ich eben so ein Programm welches mir sagt wo ich jenes Brett im Lager finde.



  • Dann mach das doch genauso, geh ins Lager und such nach dem Brett der Länge l.

    Nur heisst dein Lager hier Array oder Feld (oder sogar std::vector) und nicht du gehst, sondern dein Programm.



  • Leg die Bretter in eine SQL-Datenbank. Dann noch einen passenden Index erstellen. Dadurch kannst du dann abfragen ohne das alle Bretter einzeln abgefragt werden müssen.



  • Pokerface schrieb:

    Wie kann ich jetzt ohne jede einzelne Instanz manuell abzufragen, alle auf einmal abfragen.

    Alle auf einmal abfragen geht gar nicht (außer du hast eine CPU mit >50 Kernen). Die Frage sollte eher lauten wie man vielleicht die Anzahl der Bretter die man sich anschauen muss minimieren kann. Im realen Leben hättest du die Bretter wahrscheinlich der Größe nach oder irgendwie anders sortiert. Genauso kannst du es auch in deinem Programm machen. Sind die Bretter erstmal sortiert kann man z.B. mit einer binären Suche schnell die gesuchte Länge finden. Gibts auch schon fertig in der Standard Library als std::binary_search. Wenn es allerdings um nur 50 Elemente geht kann man sich auch alle Bretter anschauen. So langsam sind heutige CPUs auch nicht.


Anmelden zum Antworten