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