Deque::front() y deque::back() en C++ STL

Las colas Deque o Double Ended son contenedores de secuencias con la función de expansión y contracción en ambos extremos. Son similares a los vectores, pero son más eficientes en caso de inserción y eliminación de elementos al final, y también al principio. A diferencia de los vectores, es posible que no se garantice la asignación de almacenamiento contiguo en el deque.

deque::frente()

front() se usa para hacer referencia al primer elemento del contenedor deque. Esta función se puede utilizar para obtener el primer elemento de un deque. Esta es una función incorporada de C++ Standard Template Library (STL) . Esta función pertenece al archivo de cabecera  <deque> .

Sintaxis: 

dequename.front()

Devoluciones: Referencia directa al primer elemento del contenedor deque.

Ejemplos: 

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

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

Errores y excepciones: 

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

C++

// CPP program to demonstrate
// Implementation of front() function
#include <deque>
#include <iostream>
using namespace std;
 
int main()
{
    deque<int> mydeque;
    mydeque.push_back(3);
    mydeque.push_back(4);
    mydeque.push_back(1);
    mydeque.push_back(7);
    mydeque.push_back(3);
    // Queue becomes 3, 4, 1, 7, 3
 
    cout << mydeque.front();
    return 0;
}
Producción

3

Complejidad del tiempo: O(1)

Espacio Auxiliar: O(1)

deque::atrás()

La función back() se utiliza para hacer referencia al último elemento del contenedor deque. Esta función se puede usar para obtener el primer elemento de la parte posterior de un deque. Esta función se puede utilizar para obtener el primer elemento de un deque. Esta es una función incorporada de la biblioteca de plantillas estándar de C++ (STL). Esta función pertenece al archivo de cabecera  <deque> .

Sintaxis: 

dequename.back()

Devoluciones: Referencia directa al último elemento del contenedor deque.

Ejemplos:  

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

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

Errores y excepciones: 

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

C++

// CPP program to demonstrate
// Implementation of back() function
#include <deque>
#include <iostream>
using namespace std;
 
int main()
{
    deque<int> mydeque;
    mydeque.push_back(3);
    mydeque.push_back(4);
    mydeque.push_back(1);
    mydeque.push_back(7);
    mydeque.push_back(3);
    // Queue becomes 3, 4, 1, 7, 3
 
    cout << mydeque.back();
    return 0;
}
Producción

3

Complejidad del tiempo: O(1)

Espacio Auxiliar: O(1)

Aplicación: deque::front() y deque::back()

Dado un deque vacío de enteros, agregue números al deque, luego imprima la diferencia entre el primer y el último elemento.  

Input  : 1, 2, 3, 4, 5, 6, 7, 8
Output : 7

( Explicación : el último elemento es 8, el primer elemento es 1, la diferencia será 7)

Algoritmo: 
1. Agregue números al deque usando la función push_back()
2. Compara 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 demonstrate
// application Of front() and back() function
#include <deque>
#include <iostream>
using namespace std;
 
// Driver Code
int main()
{
    deque<int> mydeque;
    mydeque.push_back(8);
    mydeque.push_back(7);
    mydeque.push_back(6);
    mydeque.push_back(5);
    mydeque.push_back(4);
    mydeque.push_back(3);
    mydeque.push_back(2);
    mydeque.push_back(1);
    // deque becomes 8, 7, 6, 5, 4, 3, 2, 1
 
    if (mydeque.front() > mydeque.back()) {
        cout << mydeque.front() - mydeque.back();
    }
    else if (mydeque.front() < mydeque.back()) {
        cout << mydeque.back() - mydeque.front();
    }
    else
        cout << "0";
 
    return 0;
}
Producción

7

Complejidad del tiempo: O(1)

Espacio Auxiliar: O(1)

Veamos las diferencias en forma tabular -:

  Deque::frente() deque::atrás() 
1. Se utiliza para devolver una referencia al primer elemento en el contenedor deque. Se utiliza para devolver una referencia al último elemento del contenedor.
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.

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 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 *