forward_list::merge() es una función incorporada en C++ STL que fusiona dos forward_list ordenadas en una sola.
La función merge() se puede utilizar de dos formas:
- Combine dos listas de reenvío que están ordenadas en orden ascendente en una sola.
- Combine dos listas de reenvío en una usando una función de comparación.
Sintaxis:
forwardlist_name1.merge(forward_list& forwardlist_name2) or forwardlist_name1.merge(forward_list& forwardlist_name2, Compare comp)
Parámetros: La función acepta dos parámetros que se especifican a continuación:
- forwardlist_name2 : otra lista de reenvío del mismo tipo que se fusionará
- comp : una función de comparación que debe devolver verdadero o falso.
Valor devuelto: La función no devuelve nada.
Los siguientes programas ilustran la función anterior:
Programa 1:
// CPP program to illustrate the // forward_list::merge() function #include <bits/stdc++.h> using namespace std; int main() { forward_list<int> fl1 = { 12, 25, 31, 41 }; forward_list<int> fl2 = { 10, 20, 30 }; // merge two forward list fl1.merge(fl2); // print the contents of the forward list cout << "List contains following elements" << endl; for (auto it = fl1.begin(); it != fl1.end(); ++it) cout << *it << " "; return 0; }
Producción:
List contains following elements 10 12 20 25 30 31 41
Programa 2:
#include <bits/stdc++.h> using namespace std; // comparison function bool cmp_fun(int a, int b) { return a > b; } int main() { forward_list<int> fl1 = { 41, 31, 25, 12 }; forward_list<int> fl2 = { 30, 20, 10 }; // merge two forward list fl1.merge(fl2, cmp_fun); // print the contents of the forward list cout << "List contains following elements" << endl; for (auto it = fl1.begin(); it != fl1.end(); ++it) cout << *it << " "; return 0; }
Producción:
List contains following elements 41 31 30 25 20 12 10
Publicación traducida automáticamente
Artículo escrito por rupesh_rao y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA