forward_list::merge
Combina dois classificaram sequências em uma única sequência classificados em tempo lineares. Remove os elementos da lista de argumentos, e inseri-los neste forward_list. As duas listas devem ser classificadas por mesmos compara o objeto da função antes da chamada a merge. A lista combinada será classificada pelo compara o objeto de função.
void merge(forward_list& _Right);
template<class Predicate>
void merge(forward_list& _Right, Predicate _Comp);
Parâmetros
Parâmetro |
Descrição |
---|---|
_Right |
A lista para frente à mesclagem do. |
_Comp |
O objeto da função de comparação usado para classificar os elementos. |
Comentários
forward_list::merge remove os elementos de forward_list_Right, e inseri-los neste forward_list. Ambas as sequências devem ser ordenadas pelo mesmo predicado, descrito abaixo. A sequência combinada estiver ordenada pelo também compara o objeto de função.
Para os iteradores Pi e Pj que designa os elementos nas posições i e j, a primeira função de membro impõe a ordem !(*Pj < *Pi) sempre que i < j. (Os elementos são classificados em ordem de ascending .) A segunda função de membro impõe a ordem !_Comp(*Pj, *Pi) sempre que i < j.
Nenhum par de elementos na sequência controlada original é invertido na sequência resultante controlada. Se um par de elementos na sequência resultante controlada compara igual (!(*Pi < *Pj) && !(*Pj < *Pi)), um elemento de sequência controlada original aparecer antes de um elemento de sequência controlada por _Right.
Uma exceção ocorre somente se _Comp gerencie uma exceção. Nesse caso, a sequência controlada é deixada na ordem não for especificado e a exceção é rethrown.
Requisitos
Cabeçalho: <forward_list>
Namespace: std