inicio GeNeura cursos

Algoritmos de conjuntos


Este tipo de algoritmos realiza operaciones parecidas a las utilizadas en matematicas. Las operaciones de conjuntos se ejecutan sobre sequencias ordenadas.

Como antes todas las funciones tienen dos versiones, una que emplea el operator<() para comparar los elementos y otra que utiliza un objeto funcion proporcionado por el usuario.

Lista de algoritmos de conjuntos>


includes()

Función

template <class InputIterator1, class InputIterator2>
bool includes(InputIterator1 first1, InputIterator1 last1,
              InputIterator2 first2, InputIterator2 last2)}

template <class InputIterator1, class InputIterator2, class Compare>
bool includes(InputIterator1 first1, InputIterator1 last1,
              InputIterator2 first2, InputIterator2 last2, Compare comp)

Descripción

includes() comprueba si un conjunto esta incluido en otro conjunto. Para hacer el algoritmo eficiente se exige que ambos conjuntos esten ordenados mediante un funcion de comparacion, que por defecto es operator<(). Devuelve true si cada elemento de la segunda secuencia esta dentro de la primera.


set_union()

Función

template <class InputIterator1, class InputIterator2, class OutputIterator>
OutputIterator set_union(InputIterator1 first1, InputIterator1 last1,
                         InputIterator2 first2, InputIterator2 last2,
                         OutputIterator result)

template <class InputIterator1, class InputIterator2, class OutputIterator,
          class Compare>
OutputIterator set_union(InputIterator1 first1, InputIterator1 last1,
                         InputIterator2 first2, InputIterator2 last2,
                         OutputIterator result, Compare comp)

Descripción

set_union() combina dos secuencias ordenadas en una tercera que es el resultado de la union de las dos originales.


set_intersection()

Función

template <class InputIterator1, class InputIterator2, class OutputIterator>
OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1,
                         InputIterator2 first2, InputIterator2 last2,
                         OutputIterator result)

template <class InputIterator1, class InputIterator2, class OutputIterator,
          class Compare>
OutputIterator set_intersection(InputIterator1 first1, InputIterator1 last1,
                         InputIterator2 first2, InputIterator2 last2,
                         OutputIterator result, Compare comp)

Descripción

set_intersection() combina dos secuencias ordenadas en una tercera que es el resultado de la interseccion de las dos originales.


set_difference()

Función

template <class InputIterator1, class InputIterator2, class OutputIterator>
OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1,
                         InputIterator2 first2, InputIterator2 last2,
                         OutputIterator result)

template <class InputIterator1, class InputIterator2, class OutputIterator,
          class Compare>
OutputIterator set_difference(InputIterator1 first1, InputIterator1 last1,
                         InputIterator2 first2, InputIterator2 last2,
                         OutputIterator result, Compare comp)

Descripción

set_difference() busca todos los elementos de la pimera secuencia que no aparezcan en la segunda y los almacena en una tercera secuencia.


set_symmetric_difference()

Función

template <class InputIterator1, class InputIterator2, 
          class OutputIterator>
OutputIterator set_symmetric_difference(InputIterator1 first1, 
                                        InputIterator1 last1,
                                        InputIterator2 first2, 
                                        InputIterator2 last2,
                                        OutputIterator result)

template <class InputIterator1, class InputIterator2, 
          class OutputIterator,
          class Compare>
OutputIterator set_symmetric_difference(InputIterator1 first1, 
                                        InputIterator1 last1,
                                        InputIterator2 first2, 
                                        InputIterator2 last2,
                                        OutputIterator result, 
                                        Compare comp)

Descripción

set_symmetric_difference() busca todos los elementos de la primera secuencia que no aparecen en la segunda y todos los de la seguenda que no aparecen en la primera y los introduce en un iterador de forma ordenada.