forward_list::merge
Combina dos secuencias ordenadas en una sola secuencia ordenada en tiempo lineal.quita los elementos de la lista de argumentos, y los inserta en este forward_list.Las dos listas se deben ordenar por igual comparan el objeto function antes de la llamada a merge.La lista combinada se ordena por ese compara el objeto function.
void merge(forward_list& _Right);
template<class Predicate>
void merge(forward_list& _Right, Predicate _Comp);
Parámetros
Parámetro |
Descripción |
---|---|
_Right |
La lista adelantada a la combinación de. |
_Comp |
El objeto de la función de comparación que se utiliza para ordenar elementos. |
Comentarios
forward_list::merge quita elementos de forward_list_Right, y los inserta en este forward_list.Las dos secuencias se deben ordenar por el mismo predicado, se describe más adelante.La secuencia combinada también está ordenada por ese compara el objeto function.
Para los iteradores Pi y Pj que señalan elementos en las posiciones i y j, la primera función miembro impone el orden !(*Pj < *Pi) siempre que i < j.(Los elementos se clasifican por orden de ascending .) La segunda función miembro impone el orden !_Comp(*Pj, *Pi) siempre que i < j.
No se invierte los pares de elementos de la secuencia controlada original en la secuencia controlada resultante.Si un par de elementos de la secuencia controlada resultante es igual (!(*Pi < *Pj) && !(*Pj < *Pi)), un elemento de la secuencia controlada original aparece antes de un elemento de la secuencia controlada por _Right.
Una excepción sólo aparece si _Comp produce una excepción.En ese caso, la secuencia controlada se permite en un orden no especificado y la excepción se reinician.
Requisitos
encabezado: <forward_list>
espacio de nombres: std