Partager via


forward_list::merge

Regroupe deux séquences triées en une séquence triée unique dans le temps linéaire.Supprime les éléments de la liste d'arguments, et les insère dans cet forward_list.Les deux listes doivent être triées par le même comparent l'objet de fonction avant l'appel à merge.La liste combinée est triée par ce comparent l'objet de fonction.

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

Paramètres

Paramètre

Description

_Right

La liste en arrière à la fusion de.

_Comp

L'objet de fonction de comparaison utilisé pour trier les éléments.

Notes

forward_list::merge supprime les éléments d' forward_list_Right, et les insère dans cet forward_list.Les deux séquences doivent être classées par le même attribut, décrit ci-dessous.La séquence combinée est également classée par ce comparent l'objet de fonction.

Pour les itérateurs Pi et Pj indiquant les éléments aux emplacements i et j, la première fonction membre garantit la commande !(*Pj < *Pi) chaque fois qu' i < j.(Les éléments sont triés par ordre d' ascending .) La deuxième fonction membre garantit la commande !_Comp(*Pj, *Pi) chaque fois qu' i < j.

Aucune paire d'éléments dans l'ordre d'exécution des instructions d'origine n'est inversé dans l'ordre d'exécution des instructions résultant.Si une paire d'éléments dans l'ordre d'exécution des instructions résultant compare le signe égal (!(*Pi < *Pj) && !(*Pj < *Pi)), un élément de l'ordre d'exécution des instructions d'origine s'affiche avant un élément de la séquence contrôlée par _Right.

Une exception se produit uniquement si _Comp lève une exception.Dans ce cas, l'ordre d'exécution des instructions est laissé dans l'ordre non spécifié et l'exception est à nouveau levée.

Configuration requise

en-tête : <forward_list>

l'espace de noms : DST

Voir aussi

Référence

forward_list Class