Lista de reenvío en C++ | Conjunto 1 (Introducción y funciones importantes) En este artículo se analizan más funciones. Algunas de las operaciones distintas de las inserciones y eliminaciones que se pueden usar en las listas de reenvío son las siguientes:
1. fusionar() : – Esta función se usa para fusionar una lista hacia adelante con otra. Si ambas listas están ordenadas, la lista resultante devuelta también está ordenada.
2. operador “=” :- Este operador copia una lista de reenvío en otra. La copia realizada en este caso es copia profunda.
CPP
// C++ code to demonstrate the working of // merge() and operator= #include<iostream> #include<forward_list> using namespace std; int main() { // Initializing 1st forward list forward_list<int> flist1 = {1, 2, 3}; // Declaring 2nd forward list forward_list<int> flist2; // Creating deep copy using "=" flist2 = flist1; // Displaying flist2 cout << "The contents of 2nd forward list" " after copy are : "; for (int &x : flist2) cout << x << " "; cout << endl; // Using merge() to merge both list in 1 flist1.merge(flist2); // Displaying merged forward list // Prints sorted list cout << "The contents of forward list " "after merge are : "; for (int &x : flist1) cout << x << " "; cout << endl; return 0; }
Producción:
The contents of 2nd forward list after copy are : 1 2 3 The contents of forward list after merge are : 1 1 2 2 3 3
Complejidad de tiempo: O(1)
Espacio auxiliar: O(1)
3. sort() :- Esta función se usa para ordenar la lista de reenvío.
4. unique() :- Esta función elimina las múltiples apariciones de un número y devuelve una lista de reenvío con elementos únicos. La lista de reenvío debe ordenarse para que esta función se ejecute correctamente.
CPP
// C++ code to demonstrate the working of // sort() and unique() #include<iostream> #include<forward_list> // for sort() and unique() using namespace std; int main() { // Initializing 1st forward list forward_list<int> flist1 = {1, 2, 3, 2, 3, 3, 1}; // Sorting the forward list using sort() flist1.sort(); // Displaying sorted forward list cout << "The contents of forward list after " "sorting are : "; for (int &x : flist1) cout << x << " "; cout << endl; // Use of unique() to remove repeated occurrences flist1.unique(); // Displaying forward list after using unique() cout << "The contents of forward list after " "unique operation are : "; for (int &x : flist1) cout << x << " "; cout << endl; return 0; }
Producción:
The contents of forward list after sorting are : 1 1 2 2 3 3 3 The contents of forward list after unique operation are : 1 2 3
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)
5. reverse() :- Esta función se utiliza para invertir la lista de reenvío.
6. swap() :- Esta función intercambia el contenido de una lista hacia adelante con otra.
CPP
// C++ code to demonstrate the working of // reverse() and swap() #include<iostream> #include<forward_list> // for reverse() and swap() using namespace std; int main() { // Initializing 1st forward list forward_list<int> flist1 = {1, 2, 3,}; // Initializing 2nd forward list forward_list<int> flist2 = {4, 5, 6}; // Using reverse() to reverse 1st forward list flist1.reverse(); // Displaying reversed forward list cout << "The contents of forward list after" " reversing are : "; for (int &x : flist1) cout << x << " "; cout << endl << endl; // Displaying forward list before swapping cout << "The contents of 1st forward list " "before swapping are : "; for (int &x : flist1) cout << x << " "; cout << endl; cout << "The contents of 2nd forward list " "before swapping are : "; for (int &x : flist2) cout << x << " "; cout << endl; // Use of swap() to swap the list flist1.swap(flist2); // Displaying forward list after swapping cout << "The contents of 1st forward list " "after swapping are : "; for (int &x : flist1) cout << x << " "; cout << endl; cout << "The contents of 2nd forward list " "after swapping are : "; for (int &x : flist2) cout << x << " "; cout << endl; return 0; }
Producción:
The contents of forward list after reversing are : 3 2 1 The contents of 1st forward list before swapping are : 3 2 1 The contents of 2nd forward list before swapping are : 4 5 6 The contents of 1st forward list after swapping are : 4 5 6 The contents of 2nd forward list after swapping are : 3 2 1
Complejidad de tiempo: O(1)
Espacio Auxiliar: O(1)
7. clear() : – Esta función borra el contenido de la lista de reenvío. Después de esta función, la lista de reenvío queda vacía.
8. vacío() : – Esta función devuelve verdadero si la lista está vacía, de lo contrario, falso.
CPP
// C++ code to demonstrate the working of // clear() and empty() #include<iostream> #include<forward_list> // for clear() and empty() using namespace std; int main() { // Initializing forward list forward_list<int> flist1 = {1, 2, 3,}; // Displaying forward list before clearing cout << "The contents of forward list are : "; for (int &x : flist1) cout << x << " "; cout << endl; // Using clear() to clear the forward list flist1.clear(); // Displaying list after clear() performed cout << "The contents of forward list after " << "clearing are : "; for (int &x : flist1) cout << x << " "; cout << endl; // Checking if list is empty flist1.empty() ? cout << "Forward list is empty" : cout << "Forward list is not empty"; return 0; }
Producción:
The contents of forward list are : 1 2 3 The contents of forward list after clearing are : Forward list is empty
Complejidad de tiempo: O(1)
Espacio auxiliar: O(1)
Artículos recientes en forward_list Manjeet Singh contribuye con este artículo . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@ geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA