cola::emplace() en C++ STL

La cola también es un tipo de datos abstracto o una estructura de datos lineal, que sigue un orden particular en el que se realizan las operaciones. El orden es Primero en entrar, primero en salir (FIFO). En una estructura de datos FIFO, el primer elemento agregado a la cola será el primero en ser eliminado.

cola::emplazar()

Esta función se usa para insertar un nuevo elemento en el contenedor de la cola, el nuevo elemento se agrega al final de la cola. 
Sintaxis: 

queuename.emplace(value)
Parameters :
The element to be inserted into the queue
is passed as the parameter.

Result :
The parameter is added to the
forward list at the end.

Ejemplos: 

Input  : myqueue{1, 2, 3, 4, 5};
         myqueue.emplace(6);
Output : myqueue = 1, 2, 3, 4, 5, 6

Input  : myqueue{};
         myqueue.emplace(4);
Output : myqueue = 4

Errores y excepciones 
1. Tiene una fuerte garantía de excepción, por lo tanto, no se realizan cambios si se lanza una excepción. 
2. El parámetro debe ser del mismo tipo que el del contenedor, de lo contrario, se arroja un error.

CPP

// INTEGER queue EXAMPLE
// CPP program to illustrate
// Implementation of emplace() function
#include <iostream>
#include <queue>
using namespace std;
 
int main()
{
    queue<int> myqueue;
    myqueue.emplace(1);
    myqueue.emplace(2);
    myqueue.emplace(3);
    myqueue.emplace(4);
    myqueue.emplace(5);
    myqueue.emplace(6);
 
    // queue becomes 1, 2, 3, 4, 5, 6
 
    while (!myqueue.empty())
    {
        cout << ' ' << myqueue.front();
        myqueue.pop();
    }
    return 0;
}

Producción: 

1 2 3 4 5 6

CPP

// CHARACTER QUEUE EXAMPLE
// CPP program to illustrate
// Implementation of emplace() function
#include <iostream>
#include <queue>
using namespace std;
 
int main()
{
    queue<char> myqueue;
    myqueue.emplace('k');
    myqueue.emplace('j');
    myqueue.emplace('y');
    myqueue.emplace('r');
    myqueue.emplace('y');
    myqueue.emplace('u');
 
    // queue becomes k, j, y, r, y, u
 
    while (!myqueue.empty())
    {
        cout << ' ' << myqueue.front();
        myqueue.pop();
    }
    return 0;
}

Producción: 

k j y r y u

CPP

// STRING QUEUE EXAMPLE
// CPP program to illustrate
// Implementation of emplace() function
#include <iostream>
#include <queue>
using namespace std;
 
int main()
{
    queue<string> myqueue;
    myqueue.emplace("This");
    myqueue.emplace("is");
    myqueue.emplace("a");
    myqueue.emplace("computer");
    myqueue.emplace("science");
    myqueue.emplace("portal");
 
    // queue becomes This, is, a, computer,
    //science, portal
 
    while (!myqueue.empty())
    {
        cout << ' ' << myqueue.front();
        myqueue.pop();
    }
 
    return 0;
}

Producción: 

This is a computer science portal

Complejidad de tiempo: O(1)
Aplicación: Ingrese una cola vacía y encuentre la suma de los elementos de la cola.

Input :  7, 6, 4, 2, 7, 8
Output : 34 

Algoritmo 
1. Inserte elementos en la cola usando la función emplace(). 
2. Verifique si una cola está vacía, si no, agregue el elemento frontal a la variable de suma y ábralo. 
3. Siga repitiendo este paso hasta que la cola se vacíe 
. 4. Imprima la variable de suma. 

CPP

// CPP program to illustrate
// application Of emplace() function
#include <queue>
#include <iostream>
using namespace std;
  
int main()
{
    // variable declaration
    int sum = 0;
     
    // queue declaration
    queue<int> myqueue{};
     
    // adding elements to the queue
    myqueue.emplace(7);
    myqueue.emplace(6);
    myqueue.emplace(4);
    myqueue.emplace(2);
    myqueue.emplace(7);
    myqueue.emplace(8);
 
    // queue becomes 7, 6, 4, 2, 7, 8
  
    // calculating the sum
    while (!myqueue.empty()) {
        sum = sum + myqueue.front();
        myqueue.pop();
    }
    cout<< sum;
}

Producción 

34

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 *