Espacios de nombres
Variantes
Acciones

std::forward_list::merge

De cppreference.com

 
 
 
std::forward_list
Las funciones miembro
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Elemento acceso
Original:
Element access
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Los iteradores
Original:
Iterators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Capacidad
Original:
Capacity
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Modificadores
Original:
Modifiers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Operaciones
Original:
Operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
forward_list::merge
 
void merge( forward_list& other );
(1) (desde C++11)
void merge( forward_list&& other );
(1) (desde C++11)
template <class Compare>
void merge( forward_list& other, Compare comp );
(2) (desde C++11)
template <class Compare>
void merge( forward_list&& other, Compare comp );
(2) (desde C++11)
Combina dos listas ordenadas en una sola. Las listas deben ser ordenados en orden ascendente .
Original:
Merges two sorted lists into one. The lists should be sorted into ascending order.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
No hay elementos se copian. El other contenedor se vacía después de la operación. La función no hace nada si this == &other. Si get_allocator() != other.get_allocator(), el comportamiento no está definido. No hay iteradores o referencias se convierten invalidado, excepto que los iteradores de elementos movidos ahora se refieren a *this, no en other. La primera versión utiliza operator< para comparar los elementos, la segunda versión utiliza la función de comparación dado comp .
Original:
No elements are copied. The container other becomes empty after the operation. The function does nothing if this == &other. If get_allocator() != other.get_allocator(), the behavior is undefined. No iterators or references become invalidated, except that the iterators of moved elements now refer into *this, not into other. The first version uses operator< to compare the elements, the second version uses the given comparison function comp.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Contenido

[editar] Parámetros

other -
otro recipiente combinar
Original:
another container to merge
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
comp - comparison function which returns ​true if the first argument is less than the second.

The signature of the comparison function should be equivalent to the following:

 bool cmp(const Type1 &a, const Type2 &b);

The signature does not need to have const &, but the function must not modify the objects passed to it.
The types Type1 and Type2 must be such that an object of type forward_list<T,Allocator>::const_iterator can be dereferenced and then implicitly converted to both of them. ​

[editar] Valor de retorno

(Ninguno)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Ejemplo

#include <iostream>
#include <forward_list>
 
std::ostream& operator<<(std::ostream& ostr, const std::forward_list<int>& list)
{
    for (auto &i : list) {
        ostr << " " << i;
    }
    return ostr;
}
 
int main()
{
    std::forward_list<int> list1 = { 5,9,0,1,3 };
    std::forward_list<int> list2 = { 8,7,2,6,4 };
 
    list1.sort();
    list2.sort();
    std::cout << "list1:  " << list1 << "\n";
    std::cout << "list2:  " << list2 << "\n";
    list1.merge(list2);
    std::cout << "merged: " << list1 << "\n";
}

Salida:

list1:   0 1 3 5 9
list2:   2 4 6 7 8
merged:  0 1 2 3 4 5 6 7 8 9

[editar] Complejidad

en la mayoría de las comparaciones size() + other.size() - 1 .
Original:
at most size() + other.size() - 1 comparisons.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[editar] Ver también

mueve elementos de otro forward_list
Original:
moves elements from another forward_list
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro público) [editar]