Поделиться через


forward_list::merge

Объединяет 2 упорядоченных последовательностей в одну сортированную последовательность в линейном времени. Удаляет элементы из списка аргументов, и вставлять их в это forward_list. 2 Списка должны сортироваться тем же сравнивает объект функции перед вызовом merge. Объединенный список будет сортирован этим сравнивает объект функции.

void merge(forward_list& _Right);
template<class Predicate>
    void merge(forward_list& _Right, Predicate _Comp);

Параметры

Параметр

Описание

_Right

Передний список для слияния из.

_Comp

Объект функции сравнения, используемый для сортировки элементов.

Заметки

forward_list::merge удаляет элементы из forward_list_Right, и вставляет их в это forward_list. Обе последовательности должны быть упорядочены таким же предикату, описаны ниже. Совмещенная последовательность также упорядочена этим сравнивает объект функции.

Для итераторов Pi и Pj обозначая элементы в позициях i и j сначала вызывает функцию-член порядок !(*Pj < *Pi) при i < j. (Элементы сортируются в порядке ascending). Второй функцию-член устанавливает порядок !_Comp(*Pj, *Pi) при i < j.

Ни одна пара элементов в исходном контролируемой последовательности не применяются в полученном контролируемой последовательности. Если пара элементов в полученном контролируемой последовательности сравнивает равенство (!(*Pi < *Pj) && !(*Pj < *Pi)), то элемент из исходной контролируемой последовательности отображается перед элементом последовательности контролируемой _Right.

Исключение возникает, только если _Comp создает исключение. В этом случае контролируемая последовательность остается в отсутствие порядка и исключение, повторно создаются.

Требования

Заголовок: <forward_list>

Пространство имен: std

См. также

Ссылки

Класс forward_list