J'aimerais savoir s'il existe une bibliothèque std ou un outil boost pour fusionner facilement le contenu de plusieurs ensembles en un seul.
Dans mon cas, j'ai quelques ensembles d'ints que je voudrais fusionner.
J'aimerais savoir s'il existe une bibliothèque std ou un outil boost pour fusionner facilement le contenu de plusieurs ensembles en un seul.
Dans mon cas, j'ai quelques ensembles d'ints que je voudrais fusionner.
On dirait que vous demandez std::set_union
.
Exemple:
#include <set>
#include <algorithm>
std::set<int> s1;
std::set<int> s2;
std::set<int> s3;
// Fill s1 and s2
std::set_union(std::begin(s1), std::end(s1),
std::begin(s2), std::end(s2),
std::inserter(s3, std::begin(s3)));
// s3 now contains the union of s1 and s2
Avec C++17, vous pouvez utiliser la fonction merge
de set
directement.
C'est mieux lorsque vous voulez que les éléments set2 soient extraits et insérés dans set1 dans le cadre de la fusion.
Comme ci-dessous :
set<int> set1{ 1, 2, 3 };
set<int> set2{ 1, 4, 5 };
// set1 has 1 2 3 set2 has 1 4 5
set1.merge(set2);
// set1 now has 1 2 3 4 5 set2 now has 1 (duplicates are left in the source, set2)
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.