set_union
-
Hi!
ich habe zwei sets set<int> A und set<int> B und möchte die Vereinigung in A
stehen haben:
set_union(A.begin();A.end(),B.begin(),B.end(), inserter(A,A.begin())
funktioniert aber nicht.
Ich verwende diese Funktion aber SEHR oft, wie bekomme ich die vereinigung am effektivsten in A hinein?Grüße!
Raphael
-
wie wärs mit
copy(B.begin(), B.end(), backinserter(B));(Weiß net genau wie des mit dem backinserter genau aussieht, konnte bisher keine infos dazu finden)
-
funktioniert aber nicht.
Mal abgesehen davon, dass dies keine ausreichende Fehlerbeschreibung ist, denke ich mal, dass du den Vertrag von set_union verletzt, denn dieser fordert: "the resulting range shall not overlap with either of the origginal ranges".
wie bekomme ich die vereinigung am effektivsten in A hinein?
Was spricht gegen:
a.insert(b.begin(), b.end());
-
Das funktioniert ganz hervorragend, also
nur falls es jemanden interessiert: die lösung ist ganz einfach:set1.insert(set2.begin(), set2.end());
-
Hi,
ich kann mich irren aber wurde das nich gesagt ?

-
Dankeschön!