vector::front() y vector::back() en C++ STL

Los vectores son lo mismo que las arrays dinámicas con la capacidad de cambiar su tamaño automáticamente cuando se inserta o elimina un elemento, y el contenedor maneja automáticamente su almacenamiento.
 

vector::frente()

Esta función se puede utilizar para obtener el primer elemento de un contenedor de vectores.
Sintaxis: 
 

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

Ejemplos: 

Input  :  myvector = 1, 2, 3
          myvector.front();
Output :  1

Input  :  myvector = 3, 4, 1, 7, 3
          myvector.front();
Output :  3

Errores y excepciones
1. Si el contenedor de vectores está vacío, provoca un comportamiento indefinido. 
2. No tiene una garantía de lanzamiento de excepción si el vector no está vacío.

Complejidad del Tiempo – Constante O(1)

CPP

// CPP program to illustrate
// Implementation of front() function
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    vector<int> myvector;
    myvector.push_back(3);
    myvector.push_back(4);
    myvector.push_back(1);
    myvector.push_back(7);
    myvector.push_back(3);
    // Vector becomes 3, 4, 1, 7, 3
 
    cout << myvector.front();
    return 0;
}

Producción: 

3
vector::atrás()

Esta función se puede utilizar para obtener el último elemento de un contenedor de vectores.
Sintaxis: 

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

Ejemplos: 

Input  :  myvector = 1, 2, 3
          myvector.back();
Output :  3

Input  :  myvector = 3, 4, 1, 7, 2
          myvector.back();
Output :  2

Errores y excepciones
1. Si el contenedor de vectores está vacío, provoca un comportamiento indefinido. 
2. No tiene una garantía de lanzamiento de excepción si el vector no está vacío.

Complejidad del Tiempo – Constante O(1)
 

CPP

// CPP program to illustrate
// Implementation of back() function
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    vector<int> myvector;
    myvector.push_back(3);
    myvector.push_back(4);
    myvector.push_back(1);
    myvector.push_back(7);
    myvector.push_back(2);
    // Vector becomes 3, 4, 1, 7, 2
 
    cout << myvector.back();
    return 0;
}

Producción: 
 

2

Diferencia entre la función front(), back() y begin, end()

Las funciones begin() y end() devuelven un iterador (como un puntero) inicializado en el primer o último elemento del contenedor que se puede usar para iterar a través de la colección, mientras que las funciones front() y back() solo devuelven una referencia . al primer o último elemento del contenedor.
Aplicación: dado un vector vacío de enteros, agregue números al vector, 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 al vector usando la función 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.
 

CPP

// CPP program to illustrate
// application Of front() and back() function
#include <iostream>
#include <vector>
using namespace std;
 
int main()
{
    vector<int> myvector;
    myvector.push_back(8);
    myvector.push_back(7);
    myvector.push_back(6);
    myvector.push_back(5);
    myvector.push_back(4);
    myvector.push_back(3);
    myvector.push_back(2);
    myvector.push_back(1);
 
    // Vector becomes 8, 7, 6, 5, 4, 3, 2, 1
 
    if (myvector.front() > myvector.back()) {
        cout << myvector.front() - myvector.back();
    }
    else if (myvector.front() < myvector.back()) {
        cout << myvector.back() - myvector.front();
    }
    else
        cout << "0";
}

Producción: 

7

Veamos las diferencias en forma tabular -:

  vector::frente() vector::atrás() 
1. Se utiliza para devolver una referencia al primer elemento del vector. Se utiliza para devolver una referencia al último elemento del vector.
2.

Su sintaxis es -:

frente de referencia();

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 *