deque emplazar en C++ STL

Las colas Deque o de doble extremo son contenedores de secuencia con la característica 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.
La función emplace() inserta un nuevo elemento justo antes de la posición especificada y el tamaño del contenedor aumenta en uno.
Sintaxis: 
 

iterator emplace(const_iterator position, value_type val);

Parámetros: Este método acepta los siguientes parámetros: 
 

  • position: Define la posición antes de la cual se insertará el nuevo elemento.
  • val: Nuevo valor que se va a insertar.

Valor devuelto: Devuelve un iterador al elemento recién construido.
Los siguientes ejemplos ilustran este método:
Ejemplo-1: 
 

CPP

#include <deque>
#include <iostream>
using namespace std;
 
int main()
{
 
    // initialization of deque named sample
    deque<int> sample = { 2, 3, 4, 5 };
 
    // initializing an iterator
    deque<int>::iterator itr;
 
    // adding 1 at the first position in
    // the sample as itr points to
    // first position in the sample
    sample.emplace(sample.begin(), 1);
 
    // Looping the whole
    for (itr = sample.begin(); itr != sample.end(); ++itr)
        // sample for printing
        cout << *itr << " ";
 
    cout << endl;
    return 0;
}
Producción: 

1 2 3 4 5

 

Ejemplo-2: 
 

CPP

#include <deque>
#include <iostream>
using namespace std;
int main()
{
 
    // initialization of deque named sample
    deque<char> sample = { 'G', 'E', 'K', 'S' };
 
    // initialising an iterator
    deque<char>::iterator itr = sample.begin();
 
    // incrementing the iterator by one place
    ++itr;
 
    // adding E at the second position in
    // the sample as itr points to
    // second position in the sample
    sample.emplace(itr, 'E');
 
    // Looping the whole
    for (itr = sample.begin(); itr != sample.end(); ++itr)
 
        // sample for printing
        cout << *itr;
 
    cout << endl;
    return 0;
}
Producción: 

GEEKS

 

Publicación traducida automáticamente

Artículo escrito por Prasoon_Mishra 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 *