Las listas son contenedores utilizados en C++ para almacenar datos de forma no contigua. Normalmente, las arrays y los vectores son de naturaleza contigua, por lo que las operaciones de inserción y eliminación son más costosas en comparación con la opción de inserción y eliminación en las listas.
La función pop_front() se usa para hacer estallar o eliminar elementos de una lista desde el frente. El valor se elimina de la lista desde el principio y el tamaño del contenedor se reduce en 1. Sintaxis:
listname.pop_front() Parameters : No argument is passed as parameter. Result : Removes the value present at the front of the given list named as listname
Ejemplos:
Input : list list{1, 2, 3, 4, 5}; list.pop_front(); Output : 2, 3, 4, 5 Input : list list{5, 4, 3, 2, 1}; list.pop_front(); Output : 4, 3, 2, 1
Errores y excepciones
- Garantía de no lanzamiento: si se lanza una excepción, no hay cambios en el contenedor.
- Si la lista está vacía, muestra un comportamiento indefinido.
CPP
// CPP program to illustrate // pop_front() function #include <iostream> #include <list> using namespace std; int main() { list<int> mylist{ 1, 2, 3, 4, 5 }; mylist.pop_front(); // list becomes 2, 3, 4, 5 for (auto it = mylist.begin(); it != mylist.end(); ++it) cout << ' ' << *it; }
Producción:
2, 3, 4, 5
Aplicación: Ingrese una lista vacía con los siguientes números y ordene usando la función push_front() e imprima el reverso de la lista.
Input : 1, 2, 3, 4, 5, 6, 7, 8 Output: 8, 7, 6, 5, 4, 3, 2, 1
CPP
// CPP program to illustrate // application Of pop_front() function #include <iostream> #include <list> using namespace std; int main() { list<int> mylist{}, newlist{}; mylist.push_front(8); mylist.push_front(7); mylist.push_front(6); mylist.push_front(5); mylist.push_front(4); mylist.push_front(3); mylist.push_front(2); mylist.push_front(1); // list becomes 1, 2, 3, 4, 5, 6, 7, 8 while (!mylist.empty()) { newlist.push_front(mylist.front()); mylist.pop_front(); } for (auto it = newlist.begin(); it != newlist.end(); ++it) cout << ' ' << *it; }
Producción:
8, 7, 6, 5, 4, 3, 2, 1
La función pop_back() se usa para hacer estallar o eliminar elementos de una lista desde atrás. El valor se elimina de la lista desde el final y el tamaño del contenedor se reduce en 1. Sintaxis:
listname.pop_back() Parameters : No argument is passed as parameter. Result : Removes the value present at the end or back of the given list named as listname
Ejemplos:
Input : list list{1, 2, 3, 4, 5}; list.pop_back(); Output : 1, 2, 3, 4 Input : list list{5, 4, 3, 2, 1}; list.pop_back(); Output : 5, 4, 3, 2
Errores y excepciones
- Garantía de no lanzamiento: si se lanza una excepción, no hay cambios en el contenedor.
- Si la lista está vacía, muestra un comportamiento indefinido.
CPP
// CPP program to illustrate // pop_back() function #include <iostream> #include <list> using namespace std; int main() { list<int> mylist{ 1, 2, 3, 4, 5 }; mylist.pop_back(); // list becomes 1, 2, 3, 4 for (auto it = mylist.begin(); it != mylist.end(); ++it) cout << ' ' << *it; }
Producción:
1, 2, 3, 4
Aplicación: Ingrese una lista vacía con los siguientes números y ordene usando la función push_front() e imprima el reverso de la lista.
Input : 1, 20, 39, 43, 57, 64, 73, 82 Output: 82, 73, 64, 57, 43, 39, 20, 1
CPP
// CPP program to illustrate // application Of pop_back() function #include <iostream> #include <list> using namespace std; int main() { list<int> mylist{}, newlist{}; mylist.push_front(82); mylist.push_front(73); mylist.push_front(64); mylist.push_front(57); mylist.push_front(43); mylist.push_front(39); mylist.push_front(20); mylist.push_front(1); // list becomes 1, 20, 39, 43, 57, 64, 73, 82 while (!mylist.empty()) { newlist.push_back(mylist.back()); mylist.pop_back(); } for (auto it = newlist.begin(); it != newlist.end(); ++it) cout << ' ' << *it; }
Producción:
82, 73, 64, 57, 43, 39, 20, 1
Veamos las diferencias en forma tabular -:
lista::pop_front() | lista::pop_back() | |
1. | Se utiliza para eliminar el primer elemento en el contenedor de lista. | Se utiliza para eliminar el último elemento en el contenedor de lista |
2. |
Su sintaxis es -: frente_pop(); |
Su sintaxis es -: pop_back(); |
3. | No toma ningún parámetro. | No toma ningún parámetro. |
4. | No tiene ningún tipo de retorno. | No tiene ningún tipo de retorno. |
5. | Su complejidad es constante. | Su complejidad es constante. |
Publicación traducida automáticamente
Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA