list::front() y list::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::frente()

Esta función se utiliza para hacer referencia al primer elemento del contenedor de lista. Esta función se puede utilizar para obtener el primer elemento de una lista.

Sintaxis:  

listname.front()
Parameters :
No value is needed to pass as the parameter.
Returns :
Direct reference to the first element of the list container.

Ejemplos: 

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

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

Errores y excepciones 

  1. Si el contenedor de la lista está vacío, provoca un comportamiento indefinido
  2. Tiene una garantía de lanzamiento sin excepción si la lista no está vacía.

C++

// CPP program to illustrate
// Implementation of front() function
#include <iostream>
#include <list>
using namespace std;
 
int main()
{
    list<int> mylist{ 1, 2, 3, 4, 5 };
    cout << mylist.front();
    return 0;
}

Producción: 

1
lista::atrás()

Esta función se utiliza para hacer referencia al último elemento del contenedor de lista. Esta función se puede utilizar para obtener el primer elemento del final de una lista.

Sintaxis: 

listname.back()
Parameters :
No value is needed to pass as the parameter.
Returns :
Direct reference to the last element of the list container.

Ejemplos:  

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

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

Errores y excepciones  

  1. Si el contenedor de la lista está vacío, provoca un comportamiento indefinido
  2. Tiene una garantía de lanzamiento sin excepción si la lista no está vacía.

C++

// CPP program to illustrate
// Implementation of back() function
#include <iostream>
#include <list>
using namespace std;
 
int main()
{
    list<int> mylist{ 1, 2, 3, 4, 5 };
    cout << mylist.back();
    return 0;
}

Producción: 

5

Aplicación 
Dada una lista vacía de enteros, agregue números a la lista, luego imprima la diferencia entre el primer y el último elemento.

Input: 1, 2, 3, 4, 5, 6, 7, 8
Output:7
Explanation: Last element = 8, First element = 1, Difference = 7

Algoritmo 
1. Agregue números a la lista usando la función push_front() o push_back() 
2. Compare el primer y el último elemento. 
3. Si el primer elemento es más grande, reste el último elemento e imprímalo. 
4. De lo contrario, reste el primer elemento del último elemento e imprímalo.

C++

// CPP program to illustrate
// application Of front() and back() function
#include <iostream>
#include <list>
using namespace std;
 
int main()
{
    list<int> mylist{};
    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
 
    if (mylist.front() > mylist.back()) {
        cout << mylist.front() - mylist.back();
    }
    else if (mylist.front() < mylist.back()) {
        cout << mylist.back() - mylist.front();
    }
    else
        cout << "0";
}

Producción: 

7

Veamos las diferencias en forma tabular -:

  lista::frente() lista::atrás()
1. Se utiliza para devolver una referencia al primer elemento en el contenedor de lista Se utiliza para devolver una referencia al último elemento del contenedor de lista.
2. Su sintaxis es -:
 referencia frontal();

Su sintaxis es -:

 referencia atrás();

3. No toma ningún parámetro. No toma ningún parámetro.
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 *