forward_list::merge
Kombinuje dvě sekvence tříděny do jediného seřazené posloupnosti v lineární čas.Odebere ze seznamu argumentů prvků a vloží je do tohoto forward_list.Dva seznamy by seřazeny podle stejného objektu funkce compare před volání merge.Sloučeného seznamu budou seřazeny podle s porovnáním funkcí objektu.
void merge(forward_list& _Right);
template<class Predicate>
void merge(forward_list& _Right, Predicate _Comp);
Parametry
Parametr |
Description |
---|---|
_Right |
Seznam vpřed ze sloučení. |
_Comp |
Porovnání funkce objektu, který slouží k třídění prvků. |
Poznámky
forward_list::mergeOdebere prvky z forward_list_Right, a vloží je do tohoto forward_list.Obě sekvence musí být objednána podle stejného predikátu popsané níže.Kombinované sekvence je také objednané daný objekt funkce porovnat.
Pro u iterátorů Pi a Pj prvky v místech určení i a j, první členské funkce ukládá pořadí !(*Pj < *Pi) při i < j.(Prvky jsou seřazeny v ascending objednávky.) Druhý členské funkce ukládá pořadí !_Comp(*Pj, *Pi) při i < j.
Žádná dvojice prvků v původní posloupnost řízené stornují výsledné řízené posloupnosti.Dvojice prvků ve výsledné řídit pořadí porovná rovná (!(*Pi < *Pj) && !(*Pj < *Pi)), prvek z původní řízené sekvence se zobrazí před prvek z řady řízena _Right.
Pouze pokud dojde k výjimce _Comp vyvolá výjimku.V takovém případě řízené sekvence je ponechán v nespecifikované pořadí a je výjimka rethrown.
Požadavky
Záhlaví: <forward_list>
Obor názvů: std