Also habe ich einen Vektor, und ich möchte die Elemente zu jeder Zeit sortiert werden. Wie soll ich ein Element in diesen Vektor einfügen und die Elemente sortiert halten, wenn ich sie herausbringe? Ich schaute in std::lower_bound
, aber das gab das Gegenteil von dem, was ich wollte.Element in einen sortierten Vektor einfügen und Elemente sortiert halten
Zum Beispiel, das ist was ich will: Wenn ich alle Elemente in den Vektor Pop sollte es sein: 1 2 3 4 5. Das bedeutet der Vektor muss sie als 5 4 3 2 1 speichern. Wenn verwenden Untergrenze, der Vektor speichert sie als 1 2 3 4 5, und es wird als 5 4 3 2 1 gepoppt. Auch ein Vergleich Funktor wird übergeben, so dass die lower_bound
Funktion den Vergleich Funktor verwendet. Gibt es eine Möglichkeit, das Gegenteil von einem Vergleichsfunktor zu machen?
By the way, 'std :: Set' hält die Dinge geordnet, aber Sie können nicht haben Duplikate (siehe' std :: multiset'). Was das Gegenteil angeht, gibt es 'std :: not1'. – chris
Vielleicht verwenden Sie den falschen Container. Schau mal hier: http://Stackoverflow.com/a/471461/78845 – Johnsyweb