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; }
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; }
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