Gibt es in der C++ - Welt einen Container mit diesen Eigenschaften?Container mit den Eigenschaften std :: vector und std :: set?
- Elemente sind einzigartig und mit Hilfe einer anpassbaren Komparator bestellt
- einen Direktzugriffs Betreiber bereitzustellen.
bin Sammeln ich zur Zeit meine Daten in ein std::set<C,COMPARATOR>
und danach eine std::copy(_set.begin(),_set.end(),std::back_inserter(_vec))
tun Direktzugriff auf die geordnete Sammlung haben zu können. Die Größe könnte jedoch in Hunderte von Millionen gehen.
Würde ein Haufen helfen? Sie haben nicht die gesamte Bestellung, aber können das maximale Element auswählen. – Quentin
@Quentin keine strenge Bestellung erforderlich ist – Oncaphillis
Werden Sie viele Insertionen und/oder Löschungen in der Mitte der Daten tun? Das wird bei akzeptablen Lösungen einen großen Unterschied machen. Ihre aktuelle Lösung könnte verbessert werden, indem Sie den Vektor direkt hinzufügen und "std :: sort" ausführen, sollte es insgesamt etwas schneller sein. –