Ich habe eine Reihe von Zeigern. Im ersten Schritt füge ich Datenzeiger ein, und im zweiten Schritt iteriere ich über den ganzen Satz und mache etwas mit den Elementen. Die Reihenfolge ist nicht wichtig, ich muss nur Duplikate vermeiden, was beim Zeigervergleich gut funktioniert.Sollte ich std :: set oder std :: unordered_set für eine Reihe von Zeigern verwenden?
Meine Frage ist, ob es vorteilhaft sein könnte, ein ungeordnetes Set für den gleichen Zweck zu verwenden. Ist die Einfügung für einen ungeordneten Satz schneller?
"Die Reihenfolge ist nicht wichtig" - Sobald Sie sich dazu entschieden haben, verwenden Sie 'unordered_set'. Der einzige Vorteil von bestellten Containern ist .. Bestellung. –
Wie viele Elemente sprechen wir? Und arbeiten Sie rechenintensiv an jedem Gegenstand oder ist es eher so, dass alle Elemente summiert/multipliziert werden? – MikeMB
Geordnete Behälter haben einen weiteren wichtigen Vorteil, kann es garantieren, dass die Zeit für jede Operation ist O (Ig n), während ungeordnete O (n) im schlimmsten Fall erfordert. Also, wenn Sie Versprechen über Komplizen machen wollen, verwenden Sie std :: set. – James