list::push_front() y list::push_back() en C++ STL

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. 

lista::push_front()

La función push_front() se usa para insertar elementos en una lista desde el frente. El nuevo valor se inserta en la lista al principio, antes del primer elemento actual y el tamaño del contenedor aumenta en 1.

Sintaxis: 

listname.push_front(value)
Parameters :
The value to be added in the front is 
passed as the parameter
Result :
Adds the value mentioned as the parameter 
to the front of the list named as listname

Ejemplos: 

Input : list list{1, 2, 3, 4, 5};
        list.push_front(6);
Output : 6, 1, 2, 3, 4, 5

Input : list list{5, 4, 3, 2, 1};
        list.push_front(6);
Output :6, 5, 4, 3, 2, 1

Errores y excepciones 

  1. Fuerte garantía de excepción: si se lanza una excepción, no hay cambios en el contenedor.
  2. Si el valor pasado como argumento no es compatible con la lista, muestra un comportamiento indefinido.

C++

// CPP program to illustrate
// push_front() function
#include <iostream>
#include <list>
using namespace std;
 
int main()
{
    list<int> mylist{ 1, 2, 3, 4, 5 };
    mylist.push_front(6);
 
    // list becomes 6, 1, 2, 3, 4, 5
 
    for (auto it = mylist.begin(); it != mylist.end(); ++it)
        cout << ' ' << *it;
}

Producción: 

6 1 2 3 4 5

Aplicación: Ingrese una lista vacía con los siguientes números y ordene usando la función push_front() y ordene la lista dada. 

Input :  7, 89, 45, 6, 24, 58, 43
Output : 6, 7, 24, 43, 45, 58, 89

C++

// CPP program to illustrate
// application Of push_front() function
#include <iostream>
#include <list>
using namespace std;
 
int main()
{
    list<int> mylist{};
    mylist.push_front(43);
    mylist.push_front(58);
    mylist.push_front(24);
    mylist.push_front(6);
    mylist.push_front(45);
    mylist.push_front(89);
    mylist.push_front(7);
 
    // list becomes 7, 89, 45, 6, 24, 58, 43
    // Sorting function
 
    mylist.sort();
 
    for (auto it = mylist.begin(); it != mylist.end(); ++it)
        cout << ' ' << *it;
}

Producción: 

 6 7 24 43 45 58 89

lista::push_back()

La función push_back() se usa para insertar elementos en una lista desde atrás. El nuevo valor se inserta en la lista al final, después del último elemento actual y el tamaño del contenedor aumenta en 1.

Sintaxis:  

listname.push_back(value)
Parameters :
The value to be added in the back is 
passed as the parameter
Result :
Adds the value mentioned as the parameter 
to the back of the list named as listname

Ejemplos: 

Input : list list{1, 2, 3, 4, 5};
        list.push_back(6);
Output :1, 2, 3, 4, 5, 6

Input : list list{5, 4, 3, 2, 1};
        list.push_back(0);
Output :5, 4, 3, 2, 1, 0

Errores y excepciones 

  1. Fuerte garantía de excepción: si se lanza una excepción, no hay cambios en el contenedor.
  2. Si el valor pasado como argumento no es compatible con la lista, muestra un comportamiento indefinido.

C++

// CPP program to illustrate
// push_back() function
#include <iostream>
#include <list>
using namespace std;
 
int main()
{
    list<int> mylist{ 1, 2, 3, 4, 5 };
    mylist.push_back(6);
 
    // list becomes 1, 2, 3, 4, 5, 6
 
    for (auto it = mylist.begin(); it != mylist.end(); ++it)
        cout << ' ' << *it;
}

Producción: 

1 2 3 4 5 6

Aplicación: Ingrese una lista vacía con los siguientes números y ordene usando la función push_back() y ordene la lista dada.  

Input :  7, 89, 45, 6, 24, 58, 43
Output : 6, 7, 24, 43, 45, 58, 89

C++

// CPP program to illustrate
// application Of push_back() function
#include <iostream>
#include <list>
using namespace std;
 
int main()
{
    list<int> mylist{};
    mylist.push_back(7);
    mylist.push_back(89);
    mylist.push_back(45);
    mylist.push_back(6);
    mylist.push_back(24);
    mylist.push_back(58);
    mylist.push_back(43);
 
    // list becomes 7, 89, 45, 6, 24, 58, 43
    // Sorting function
 
    mylist.sort();
 
    for (auto it = mylist.begin(); it != mylist.end(); ++it)
        cout << ' ' << *it;
}

Producción: 

 6 7 24 43 45 58 89

Veamos las diferencias en forma tabular -:

  lista::push_front() lista::push_back()
1. Se utiliza para insertar un nuevo elemento al principio de la lista. Se utiliza para agregar un nuevo elemento al final del contenedor de la lista.
2. Su sintaxis es -:
push_front (const value_type& val);

Su sintaxis es -:

push_back (const value_type& val);

3. Toma un parámetro que es el valor a insertar. Toma un parámetro que es el valor a insertar.
4. Su complejidad es constante. Su complejidad es constante.
5. Su validez de iterador no cambia. Su validez de iterador no cambia.

Publicación traducida automáticamente

Artículo escrito por AyushSaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *