La lista::merge() es una función incorporada en C++ STL que fusiona dos listas ordenadas en una sola. Las listas deben ordenarse en orden ascendente. Si no se pasa un comparador en el parámetro, fusiona dos listas ordenadas en una sola lista ordenada. Si se pasa un comparador en el parámetro, fusiona la lista en consecuencia haciendo comparaciones internas.
- Sintaxis:
list1_name.merge(list2_name)
- Parámetros: la función acepta un solo parámetro obligatorio list2_name que especifica la lista que se fusionará en list1. Valor devuelto: La función no devuelve nada. El siguiente programa demuestra la función: Programa 1:
CPP
// program below demonstrates the // merge function in c++ #include <bits/stdc++.h> using namespace std; int main() { // declaring the lists // initially sorted list<int> list1 = { 10, 20, 30 }; list<int> list2 = { 40, 50, 60 }; // merge operation list2.merge(list1); cout << "List: "; for (auto it = list2.begin(); it != list2.end(); ++it) cout << *it << " "; return 0; }
Producción:
List: 10 20 30 40 50 60
Complejidad de tiempo : O(n + m -1) donde n es el tamaño de la lista 1 y m es el tamaño de la lista 2
- Sintaxis:
list1_name.merge(list2_name, comparator)
- Parámetros: La función acepta dos parámetros que se describen a continuación:
- list2-name: especifica la list2 que se fusionará en list1.
- comparador – Es un predicado binario que toma dos valores del mismo tipo que los contenidos en la lista, devuelve verdadero si se considera que el primer argumento va antes que el segundo en el estricto orden débil que define, y falso en caso contrario.
Publicación traducida automáticamente
Artículo escrito por Twinkl Bajaj y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA