Чтобы объединить два набора в C++, вы можете использовать различные методы. Вот некоторые распространенные подходы:
- Использование функции
insert: перебирайте элементы одного набора и вставляйте их в другой набор с помощью функцииinsert. Это гарантирует автоматическое удаление повторяющихся элементов.
std::set<int> set1, set2;
// Populate set1 and set2 with some elements
// Merge set2 into set1
set1.insert(set2.begin(), set2.end());
- Использование функции
merge: если вы хотите объединить два набора, сохраняя порядок сортировки, вы можете использовать функциюmergeиззаголовок. Эта функция объединяет два отсортированных диапазона в один.
std::set<int> set1, set2;
// Populate set1 and set2 with some elements
// Merge set2 into set1 while preserving the sorting order
std::merge(set1.begin(), set1.end(), set2.begin(), set2.end(), std::inserter(set1, set1.begin()));
- Использование контейнера
std::unordered_set: если порядок элементов не имеет значения и вам не нужна сортировка, вы можете использоватьstd::unordered_setконтейнер, который обеспечивает более быстрые операции вставки и поиска по сравнению сstd::set. Вы можете просто вставить все элементы из обоих наборов в новыйstd::unordered_set.
std::unordered_set<int> set1, set2;
// Populate set1 and set2 with some elements
// Merge set2 into set1 using std::unordered_set
set1.insert(set2.begin(), set2.end());