Durchlaufen eindeutiger Elemente von "std :: multiset"
Ich muss nur wissen, ob etwas existiert und wie oft es existiert. Ich werde über die existierenden Dinge iterieren und abfragen, wie viel davon existiert.
Meine bisherige Implementierung verwendetmultiset
Mache ich wie folgt:
std::multiset<thing> a;
auto previous = a.end();
for( auto each = a.begin(); each != a.end(); ++each ) {
if( previous == a.end() || *previous != *each ) {
a.count(*each);
}
previous = each;
}
KlarstellungenIch habe einen Vektor vonthing
s. Aber sie wiederholen den Wert manchmal, ich möchte über Unique iterierenthing
s und für jedes Unikat etwas tun. Dieses "Etwas" muss wissen, wie lange dies dauertthing
erscheint auf dem Vektor.
Der Code, den ich oben gepostet habe, ist die Art und Weise, wie ich mein Problem gerade löse. Es scheint nicht die eleganteste Art zu sein, das zu tun, was ich will.
Ich folge nur den Stackoverflow-Richtlinien: Ich erkläre, was mein Problem ist, und ich erkläre meine (erprobte) Lösung.
Wenn ein Satz mit einem Fragezeichen wirklich benötigt wird, können Sie Folgendes tun: Gibt es eine Möglichkeit, eindeutige Elemente über a zu iterieren?multiset
?