Diferencia entre deque::assign y deque::back en C++

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:

  1. tamaño: especifica el número de valores a asignar al contenedor.
  2. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *