forward_list merge() en C++ STL

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:

  1. Combine dos listas de reenvío que están ordenadas en orden ascendente en una sola.
  2. 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:

  1. forwardlist_name2 : otra lista de reenvío del mismo tipo que se fusionará
  2. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *