La lista se ha discutido en muchos artículos, pero el único propósito de este artículo es cubrir todos los tipos de inserciones que se pueden realizar en un contenedor de lista y brindar una visión detallada de las operaciones de inserción.
La lista y sus muchas funciones se definen en el archivo de encabezado «lista». Varias funciones de inserción de listas se analizan a continuación.
La función de asignación() se usa para insertar múltiples elementos en una lista en una sola operación. «asignar()» funciona de las siguientes maneras:
- Para insertar varios elementos a la vez en una lista.
sintaxis: list.assign(número de veces, elemento) . - Para copiar elementos de 1 lista en otra.
sintaxis: list.assign(lis2.begin(),lis2.end()) - Para copiar elementos de la array en la lista.
sintaxis: list.assign(arr,arr+tamaño).
// C++ code to demonstrate the working of assign() #include <iostream> #include <list> // for list operations using namespace std; int main() { // declaring list list<int> list1; list<int> list2; list<int> list3; // initializing array int arr[10] = { 1, 2, 3, 4 }; // using assign() to insert multiple numbers // creates 4 occurrences of "2" list1.assign(4,2); // Printing the assigned list cout << "The list after inserting multiple elements is : "; for (list<int>::iterator i=list1.begin(); i!=list1.end(); i++) cout << *i << " "; cout << endl; // using assign() to copy elements of list to other // assigns 4 occurrences of "2" list2.assign(list1.begin(),list1.end()); // Printing the assigned list cout << "The list after copying list elements is : "; for (list<int>::iterator i=list2.begin(); i!=list2.end(); i++) cout << *i << " "; cout << endl; // using assign() to copy elements of array to list // assigns array elements list3.assign(arr,arr+4); // Printing the assigned list cout << "The list after copying array elements is : "; for (list<int>::iterator i=list3.begin(); i!=list3.end(); i++) cout << *i << " "; cout << endl; }
Producción:
The list after inserting multiple elements is : 2 2 2 2 The list after copying list elements is : 2 2 2 2 The list after copying array elements is : 1 2 3 4
- Usando push_front() : push_front() se usa para insertar el elemento al principio de la lista. Aumenta el tamaño de la lista en 1.
- Usando emplace_front() : funciona de manera similar a push_front, pero los valores se construyen en el lugar en la posición frontal del contenedor, donde en push_front, primero se crea un objeto y luego se copia en el contenedor.
// C++ code to demonstrate the working of // push_front() and emplace_front() #include <iostream> #include <list> // for list operations using namespace std; int main() { // declaring list list<int> list1; // using assign() to insert multiple numbers // creates 2 occurrences of "2" list1.assign(2,2); // using push_front to insert elements at beginning // inserts 5 at beginning list1.push_front(5); // Printing the new list cout << "The list after inserting elements using push_front is : "; for (list<int>::iterator i=list1.begin(); i!=list1.end(); i++) cout << *i << " "; cout << endl; // using emplace_front to insert elements at beginning // inserts 7 at beginning list1.emplace_front(7); // Printing the new list cout << "The list after inserting elements using emplace_front is : "; for (list<int>::iterator i=list1.begin(); i!=list1.end(); i++) cout << *i << " "; }
Producción:
The list after inserting elements using push_front is : 5 2 2 The list after inserting elements using emplace_front is : 7 5 2 2
- Usando push_back() : push_back() se usa para insertar el elemento al final de la lista. Aumenta el tamaño de la lista en 1.
- Usar emplace_back() : Funciona de manera similar a push_back, pero los valores se construyen en el lugar en la posición trasera del contenedor, donde en push_back, primero se crea un objeto y luego se copia en el contenedor.
// C++ code to demonstrate the working of // push_back() and emplace_back() #include <iostream> #include <list> // for list operations using namespace std; int main() { // declaring list list<int> list1; // using assign() to insert multiple numbers // creates 2 occurrences of "2" list1.assign(2,2); // using push_back to insert elements at the end // inserts 5 at end list1.push_back(5); // Printing the new list cout << "The list after inserting elements using push_back is : "; for (list<int>::iterator i=list1.begin(); i!=list1.end(); i++) cout << *i << " "; cout << endl; // using emplace_back to insert elements at the end // inserts 7 at end list1.emplace_back(7); // Printing the new list cout << "The list after inserting elements using emplace_back is : "; for (list<int>::iterator i=list1.begin(); i!=list1.end(); i++) cout << *i << " "; }
Producción:
The list after inserting elements using push_back is : 2 2 5 The list after inserting elements using emplace_back is : 2 2 5 7
- Usando insert(pos_iter,ele_num,ele): insert() se usa para insertar los elementos en cualquier posición de la lista.
- Usando emplace(pos_iter,ele) : funciona de manera similar a insert(), pero los valores se construyen en el lugar en la posición frontal del contenedor, donde en push_front, primero se crea un objeto y luego se copia en el contenedor. Y solo se permite insertar 1 valor a la vez.
. Esta función toma 3 elementos, posición, número de elementos a insertar y valor a insertar . Si no se menciona, el número de elementos se establece de forma predeterminada en 1.
// C++ code to demonstrate the working of // insert() and emplace() #include <iostream> #include <list> // for list operations using namespace std; int main() { // declaring list list<int> list1; // using assign() to insert multiple numbers // creates 3 occurrences of "2" list1.assign(3,2); // initializing list iterator to beginning list<int>::iterator it = list1.begin(); // iterator to point to 3rd position advance(it,2); // using insert to insert 1 element at the 3rd position // inserts 5 at 3rd position list1.insert(it,5); // Printing the new list cout << "The list after inserting 1 element using insert() is : "; for (list<int>::iterator i=list1.begin(); i!=list1.end(); i++) cout << *i << " "; cout << endl; // using insert to insert 2 element at the 4th position // inserts 2 occurrences of 7 at 4th position list1.insert(it,2,7); // Printing the new list cout << "The list after inserting multiple elements using insert() is : "; for (list<int>::iterator i=list1.begin(); i!=list1.end(); i++) cout << *i << " "; cout << endl; // using emplace to insert elements at the 6th position // inserts 8 at 6th position list1.emplace(it,8); // Printing the new list cout << "The list after inserting elements using emplace() is : "; for (list<int>::iterator i=list1.begin(); i!=list1.end(); i++) cout << *i << " "; }
Producción:
The list after inserting 1 element using insert() is : 2 2 5 2 The list after inserting multiple elements using insert() is : 2 2 5 7 7 2 The list after inserting elements using emplace() is : 2 2 5 7 7 8 2
Este artículo es una contribución de Manjeet Singh . 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