cola::frente() y cola::atrás() en C++ STL

Las colas son un tipo de adaptadores de contenedores que operan en un tipo de disposición de primero en entrar, primero en salir (FIFO). Los elementos se insertan en la parte posterior (final) y se eliminan desde el frente.
 

cola::frente()

Esta función se utiliza para hacer referencia al primer elemento o al más antiguo del contenedor de la cola. Esta función se puede utilizar para obtener el primer elemento de una cola.
Sintaxis: 
 

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

Ejemplos: 
 

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

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

Errores y excepciones 
 

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

CPP

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

Producción: 
 

3
cola::atrás()

Esta función se utiliza para hacer referencia al último elemento o al más nuevo del contenedor de la cola. Esta función se puede utilizar para obtener el primer elemento del final de una cola.
Sintaxis: 
 

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

Ejemplos: 
 

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

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

Errores y excepciones 
 

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

CPP

// CPP program to illustrate
// Implementation of back() function
#include <iostream>
#include <queue>
using namespace std;
 
int main()
{
    queue<int> myqueue;
    myqueue.push(3);
    myqueue.push(4);
    myqueue.push(1);
    myqueue.push(7);
 
    // Queue becomes 3, 4, 1, 7
 
    cout << myqueue.back();
    return 0;
}

Producción: 
 

7

Aplicación: 
Dada una cola vacía de enteros, agregue números a la cola, 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 cola usando la función push() 
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 <queue>
using namespace std;
 
int main()
{
    queue<int> myqueue;
    myqueue.push(8);
    myqueue.push(7);
    myqueue.push(6);
    myqueue.push(5);
    myqueue.push(4);
    myqueue.push(3);
    myqueue.push(2);
    myqueue.push(1);
 
    // Queue becomes 1, 2, 3, 4, 5, 6, 7, 8
 
    if (myqueue.front() > myqueue.back()) {
        cout << myqueue.front() - myqueue.back();
    }
    else if (myqueue.front() < myqueue.back()) {
        cout << myqueue.back() - myqueue.front();
    }
    else
        cout << "0";
}

Producción: 
 

7

 Veamos las diferencias en forma tabular -:

  cola::frente()  cola::atrás()
1. Se utiliza para devolver una referencia al siguiente elemento de la cola. Se utiliza para devolver una referencia al último elemento de la cola.
2.

Su sintaxis es -:

frente();

Su sintaxis es -:

espalda();

3. No toma ningún parámetro. No toma ningún parámetro.
4. Su complejidad es constante. Su complejidad es constante.
5. Se define en el archivo de encabezado <queue> . Se define en el archivo de encabezado <queue> .

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 *