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

Los conjuntos son un tipo de contenedor asociativo en el que cada elemento tiene que ser único porque el valor del elemento lo identifica. El valor del elemento no se puede modificar una vez que se agrega al conjunto, aunque es posible eliminar y agregar el valor modificado de ese elemento.
 

establecer::comenzar()

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

Sintaxis: 

setname.begin()

Parameters :
No parameters are passed.

Return Type:
This function returns a bidirectional
iterator pointing to the first element.

Ejemplos:  

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

Input  : myset{8, 7};
         myset.end();
Output : returns an iterator to past-the-end element. 

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

CPP

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

Producción: 

1 2 3 4 5

CPP

// CHARACTER SET EXAMPLE
// CPP program to illustrate
// Implementation of begin() function
#include <iostream>
#include <set>
using namespace std;
 
int main()
{
    // declaration of set container
    set<char> myset{ 'a', 'c', 'g', 'z' };
 
    // using begin() to print set
    for (auto it = myset.begin(); it !=
                           myset.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

Producción: 

a c g z 

CPP

// STRING SET EXAMPLE
// CPP program to illustrate
// Implementation of begin() function
#include <iostream>
#include <set>
#include <string>
using namespace std;
 
int main()
{
    // declaration of set container
    set<string> myset{ "This", "is",
                            "Geeksforgeeks" };
 
    // using begin() to print set
    for (auto it = myset.begin(); it !=
                               myset.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

Producción: 

Geeksforgeeks This is 

Complejidad de tiempo: O(1) 

establecer::fin()

Devuelve un iterador que apunta al último elemento del contenedor del conjunto. Dado que no hace referencia a un elemento válido, no puede desreferenciarse. La función end() devuelve un iterador bidireccional.
Sintaxis:  

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

Ejemplos:  

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

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

CPP

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

Producción: 

1 2 3 4 5

CPP

// CHARACTER SET EXAMPLE
// CPP program to illustrate
// Implementation of begin() function
#include <iostream>
#include <set>
using namespace std;
  
int main()
{
    // declaration of set container
    set<char> myset{'a', 'c', 'g', 'z'};
     
    // using begin() to print set
    for (auto it=myset.begin(); it != myset.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

Producción: 

a c g z

CPP

// STRING SET EXAMPLE
// CPP program to illustrate
// Implementation of begin() function
#include <iostream>
#include <set>
#include <string>
 
using namespace std;
 
int main()
{
    // declaration of set container
    set<string> myset{ "This", "is", "Geeksforgeeks" };
 
    // using begin() to print set
    for (auto it = myset.begin(); it != myset.end(); ++it)
        cout << ' ' << *it;
    return 0;
}

Producción: 

Geeksforgeeks This is 

Complejidad de tiempo: O(1) 

Veamos las diferencias en forma tabular -:

establecer::comenzar() establecer::fin()
Se utiliza para devolver un iterador que hace referencia al primer elemento del contenedor del conjunto. Se utiliza para devolver un iterador que se refiere al elemento pasado el final en el contenedor del conjunto.

Su sintaxis es -:

iterator begin();

Su sintaxis es -:

iterator end();
No toma ningún parámetro. No toma ningún parámetro.
Su complejidad es constante. Su complejidad es constante.
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 *