Wie Daten im Vector am schnellsten finden?



  • Hallo zusammen,

    gibt es andere Möglichkeiten, abgelegtes in einem Vector wieder zu finden außer den immer wieder von Anfang an zu durchsuchen/iterieren ?

    Bzw. gibt es Alternativen um über einen Index oder so direkt auf Daten zugreifen zu können?

    struct
    {
       int PersonalNummer;
       String Name;
    } Personal;
    
    std::vector <Personal *> vectPersonal;
    

    Im Vector:

    PersonalNummer | Name
    ----------------------
    23423 | Peter
    58832 | Paul

    vectPersonal.at(23423)->Name = "Peter"
    

    😕

    Besten Dank schonmal 😃 👍



  • ...





  • Hallo

    Verwende std::find auf deinem vector (dann must du aber einen Vergleichsoperator für deine Klasse Personal schreiben, und/oder eine Adapterfunktion weil du Zeiger in deinem Vektor verwendest), oder gleich std::map anstelle vector.
    Und auch die Verwendung von Zeigern als Elemente ist fragwürdig, vermeide das wenn es nicht notwendig ist.

    bis bald
    akari



  • Schau dir mal std::unordered_map bzw. unordered_set an... 😉


Log in to reply