forward_list::splice_after() es una función incorporada en CPP STL que transfiere los elementos en el rango de primero+1 a último de una lista de reenvío determinada a otra lista de reenvío. Los elementos se insertan después del elemento al que apunta la posición en el parámetro. Sintaxis:
forwardlist1_name.splice_after(position iterator, forwardlist2_name, first iterator, last iterator)
Parámetros: La función acepta cuatro parámetros que se especifican a continuación:
- position : especifica la posición en forward_list después de la cual se insertarán los nuevos elementos.
- forwardlist2_name : especifica la lista desde la que se insertarán los elementos.
- first : especifica el iterador después del cual se realizará la inserción.
- last : especifica el iterador hasta el cual se debe realizar la inserción.
Valor de retorno: La función no tiene valor de retorno. El siguiente programa demuestra la función anterior: Programa 1:
CPP
// C++ program to illustrate // splice_after() function #include <bits/stdc++.h> using namespace std; int main() { // initialising the forward lists forward_list<int> list1 = { 10, 20, 30, 40 }; forward_list<int> list2 = { 4, 9 }; // splice_after operation performed // all elements except the first element in list1 is // inserted in list 2 between 4 and 9 list2.splice_after(list2.begin(), list1, list1.begin(), list1.end()); cout << "Elements are: " << endl; // loop to print the elements of second list for (auto it = list2.begin(); it != list2.end(); ++it) cout << *it << " "; return 0; }
Elements are: 4 20 30 40 9
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(n)
Programa 2:
CPP
// C++ program to illustrate // splice_after() function #include <bits/stdc++.h> using namespace std; int main() { // initialising the forward lists forward_list<int> list1 = { 10, 20, 30, 40 }; forward_list<int> list2 = { 4, 9 }; // splice_after operation performed // all elements of list1 are inserted // in list2 between 4 and 9 list2.splice_after(list2.begin(), list1, list1.before_begin(), list1.end()); cout << "Elements are: " << endl; // loop to print the elements of second list for (auto it = list2.begin(); it != list2.end(); ++it) cout << *it << " "; return 0; }
Elements are: 4 10 20 30 40 9
Complejidad de tiempo: O(n)
Espacio Auxiliar: O(n)
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