deque::begin() y deque::end en C++ STL

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 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::begin()

La función begin() se usa para devolver un iterador que apunta al primer elemento del contenedor deque. La función begin() devuelve un iterador bidireccional al primer elemento del contenedor. Sintaxis:

dequename.begin()
Parameters :
No parameters are passed.
Returns :
This function returns a bidirectional
iterator pointing to the first element.

Ejemplos:

Input  : mydeque{1, 2, 3, 4, 5};
         mydeque.begin();
Output : returns an iterator to the element 1

Input  : mydeque{8, 7};
         mydeque.begin();
Output : returns an iterator to the element 8

Errores y Excepciones 1. No tiene garantía de lanzamiento de excepciones. 2. Muestra error cuando se pasa un parámetro. 

CPP

// CPP program to illustrate
// Implementation of begin() function
#include <deque>
#include <iostream>
using namespace std;
 
int main()
{
    // declaration of deque container
    deque<int> mydeque{ 1, 2, 3, 4, 5 };
 
    // using begin() to print deque
    for (auto it = mydeque.begin(); it != mydeque.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

Producción:

1 2 3 4 5

Complejidad de tiempo : O(1)

deque::fin()

La función end() se usa para devolver un iterador que apunta al último elemento del contenedor deque. La función end() devuelve un iterador bidireccional al último elemento del contenedor. Nota: El último elemento de cualquier contenedor se considera como el elemento teórico junto al último valor almacenado en el contenedor. Sintaxis:

dequename.end()
Parameters :
No parameters are passed.
Returns :
This function returns a bidirectional
iterator pointing to the last element.

Ejemplos:

Input  : mydeque{1, 2, 3, 4, 5};
         mydeque.end();
Output : returns an iterator to the element next to the element 5

Input  : mydeque{8, 7};
         mydeque.end();
Output : returns an iterator to the element next to the element 7

Errores y Excepciones 1. No tiene garantía de lanzamiento de excepciones. 2. Muestra error cuando se pasa un parámetro. 

CPP

// CPP program to illustrate
// Implementation of end() function
#include <deque>
#include <iostream>
using namespace std;
 
int main()
{
    // declaration of deque container
    deque<int> mydeque{ 1, 2, 3, 4, 5 };
 
    // using end() to print deque
    for (auto it = mydeque.begin(); it != mydeque.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

Producción:

1 2 3 4 5

Complejidad de tiempo : O(1)

Veamos las diferencias en forma tabular -:

  deque::begin()  deque::fin
1. Se utiliza para devolver un iterador que apunta al primer elemento del contenedor deque. Se utiliza para devolver un iterador que hace referencia al elemento pasado el final en el contenedor deque.
2.

Su sintaxis es -:

 iterador begin();

Su sintaxis es -:
iterator end();
3. No toma ningún parámetro. No toma ningún parámetro.
4. Su complejidad es constante. Su complejidad temporal es constante.
5. Su validez de iterador no cambia. Su validez de iterador no cambia.

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 *