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

Метод merge

Метод merge класса list сливает два отсортированных списка в один. По умолчанию список-аргумент присоединяется к текущему списку с сохранением возрастающего порядка сортировки. В первый параметр можно передать функцию-компаратор, которая задаёт собственный критерий сравнения элементов, а во второй - объект-аллокатор. После выполнения метода список-аргумент становится пустым, а все его элементы переходят в текущий список.

Синтаксис

list.merge(other_list) list.merge(other_list, comp)

Пример

Давайте сольём два отсортированных по возрастанию списка в один:

#include <iostream> #include <list> using namespace std; int main() { list<int> first = {1, 3, 5}; list<int> second = {2, 4, 6}; first.merge(second); for (int elem : first) { cout << elem << " "; } cout << endl; cout << second.size() << endl; return 0; }

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

1 2 3 4 5 6 0

Пример

Давайте сольём два списка, отсортированных по убыванию, передав компаратор greater:

#include <iostream> #include <list> #include <functional> using namespace std; int main() { list<int> first = {5, 3, 1}; list<int> second = {6, 4, 2}; first.merge(second, greater<int>()); for (int elem : first) { cout << elem << " "; } cout << endl; return 0; }

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

6 5 4 3 2 1

Пример

Давайте сольём два списка строк, отсортированных по возрастанию:

#include <iostream> #include <list> #include <string> using namespace std; int main() { list<string> first = {"a", "c", "e"}; list<string> second = {"b", "d"}; first.merge(second); for (string elem : first) { cout << elem << " "; } cout << endl; return 0; }

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

"a b c d e"

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

  • класс list,
    который представляет двусвязный список
  • метод sort,
    который сортирует элементы списка
  • метод splice,
    который переносит элементы из одного списка в другой
  • метод insert,
    который вставляет элементы в список
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить