РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
413 of 815 menu

Функция set_union

Функция set_union из заголовочного файла <algorithm> выполняет объединение двух отсортированных диапазонов. В первый и второй параметры мы передаем итераторы начала первого и второго диапазонов, в третий и четвертый - итераторы конца первого и второго диапазонов, а в пятый - итератор начала диапазона, куда будет записан результат. Функция возвращает итератор на конец результирующего диапазона. Оба исходных диапазона должны быть отсортированы по возрастанию, иначе поведение не определено.

Синтаксис

set_union(first1, last1, first2, last2, result)

Пример

Давайте объединим два отсортированных вектора {1, 3, 5} и {2, 3, 6} в один:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> a = {1, 3, 5}; vector<int> b = {2, 3, 6}; vector<int> res; set_union(a.begin(), a.end(), b.begin(), b.end(), back_inserter(res)); for (int x : res) cout << x << " "; cout << endl; return 0; }

Результат выполнения кода:

1 2 3 5 6

Пример

Давайте объединим два отсортированных вектора {1, 2, 3} и {3, 4, 5}, записав результат в заранее подготовленный вектор:

#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> a = {1, 2, 3}; vector<int> b = {3, 4, 5}; vector<int> res(a.size() + b.size()); auto it = set_union(a.begin(), a.end(), b.begin(), b.end(), res.begin()); res.erase(it, res.end()); for (int x : res) cout << x << " "; cout << endl; return 0; }

Результат выполнения кода:

1 2 3 4 5

Смотрите также

  • функция set_intersection,
    которая находит пересечение двух отсортированных диапазонов
  • функция set_difference,
    которая находит разность двух отсортированных диапазонов
  • функция merge,
    которая сливает два отсортированных диапазона без удаления дубликатов
  • функция includes,
    которая проверяет, содержится ли один диапазон в другом
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить