Condividi tramite


forward_list::merge

Combina due sequenze ordinate in una sola sequenza ordinata in un tempo lineare.Rimuove gli elementi dall'elenco di argomenti e li inserisce in questo forward_list.I due elenchi devono essere ordinati dallo stesso confrontare l'oggetto funzione prima della chiamata a merge.L'elenco combinato verranno ordinati per il confronto l'oggetto funzione.

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

Parametri

Parametro

Descrizione

_Right

L'elenco in avanti da unire da.

_Comp

L'oggetto funzione di confronto utilizzato per ordinare gli elementi.

Note

forward_list::merge rimuove gli elementi da forward_list_Right, e li inserisce in questo forward_list.Entrambe le sequenze devono essere ordinate lo stesso predicato, descritto di seguito.La sequenza combinata viene ordinata dal confronto l'oggetto funzione.

Per gli iteratori Pi e Pj che definiscono gli elementi nelle posizioni i e j, la prima funzione membro impone ordine !(*Pj < *Pi) ogni volta che i < j.(Gli elementi sono disposti nell'ordine ascending ). La seconda funzione membro impone ordine !_Comp(*Pj, *Pi) ogni volta che i < j.

Nessuna coppia di elementi nella sequenza selezionata originale viene invertita la sequenza risultante selezionata.Se una coppia di elementi nella sequenza risultante controllata confronta il segno di uguale (!(*Pi < *Pj) && !(*Pj < *Pi)), un elemento dalla sequenza originale viene controllata prima di un elemento dalla sequenza controllata da _Right.

Si verifica un'eccezione solo se _Comp genera un'eccezione.In tal caso, la sequenza selezionata viene lasciata in ordine non specificato e l'eccezione viene generata.

Requisiti

intestazione: <forward_list>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

forward_list Class