Las colas Deque o de doble extremo son contenedores de secuencia con la función de expansión y contracción en ambos extremos. Son similares a los vectores, pero son más eficientes en el 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.
Deque::asignar
deque::assign se usa para asignar nuevos contenidos al contenedor deque reemplazando su contenido actual. Modifica el tamaño en consecuencia.
Sintaxis:
dequename.assign(<int> tamaño, <int> val)
Parámetros:
- tamaño: especifica el número de valores a asignar al contenedor.
- val: especifica el valor a asignar al contenedor.
Valor devuelto: Ninguno
Validez del iterador: en este contenedor, se invalidan todos los iteradores, punteros y referencias.
Archivo de cabecera:
<deque>
Ejemplo :
C++
// C++ program to demonstrate deque::assign #include <deque> #include <iostream> using namespace std; // Driver code int main() { // Declaration of Deque deque<int> one = { 7, 14, 21, 28, 35 }; deque<int> two; // Iterator for deque to traverse deque<int>::iterator itr = two.begin(); // Assigning deque<int>one elements // into deque<int>two two.assign(one.begin(), one.end()); cout << "Elements of deque<int>one are : "; for (itr = one.begin(); itr != one.end(); ++itr) { cout << *itr << " "; } cout << endl; cout << "Elements of deque<int>two are : "; for (itr = two.begin(); itr != two.end(); ++itr) { cout << *itr << " "; } cout << endl; return 0; }
Producción:
Elements of deque<int>one are : 7 14 21 28 35 Elements of deque<int>two are : 7 14 21 28 35
Complejidad de tiempo: O(N)
Complejidad espacial: O(N)
Deque::volver
deque::back se usa para devolver una referencia al último elemento del contenedor. Devuelve la referencia directa del elemento.
Sintaxis:
nombre_deque.back()
Parámetros: No toma ningún parámetro
Valor de retorno: Deque::back acepta un valor de retorno de tipo Integer
Validez del iterador: en este contenedor, se invalidan todos los iteradores, punteros y referencias.
Archivo de cabecera:
<deque>
Excepciones: si el contenedor está vacío, provocará un comportamiento indefinido.
Ejemplo:
C++
// C++ program to demonstrate deque::back #include <deque> #include <iostream> using namespace std; // Driver code int main() { // Declaration of Deque deque<int> GFG = { 10, 20, 30, 40, 50, 60 }; int last_element = GFG.back(); cout << "Last ELement is : " << last_element << endl; return 0; }
Producción -:
Last ELement is : 60
Complejidad de tiempo: O(1)
Complejidad espacial: O(1)
deque::asignar vs deque::volver
A continuación se muestran las diferencias entre deque::assign y deque::back
Base | deque::asignar | deque::volver |
---|---|---|
Definición | Se utiliza para asignar nuevos contenidos al contenedor deque, reemplazando su contenido actual. | Se utiliza para devolver una referencia al último elemento del contenedor. |
Sintaxis | dequename.assign(<int> tamaño, <int> val); | dequename.atrás() |
Nº de parámetros | Toma dos parámetros | No toma ningún parámetro. |
Valor devuelto | No tiene ningún valor de retorno. | Su valor de retorno es de tipo Integer |
Complejidad | Lineal | Constante |
Publicación traducida automáticamente
Artículo escrito por mayank007rawa y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA