Biblioteca de algoritmos C ++ - función includes ()

Descripción

La función C ++ std::algorithm::includes()prueba si el primer conjunto es un subconjunto de otro o no. Esta función miembro espera elementos en orden. Utiliza una función binaria para comparar.

Declaración

A continuación se muestra la declaración de la función std :: algorítmo :: incluye () desde el encabezado std :: algoritmo.

C ++ 98

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

Parámetros

  • first1 - Introduzca el iterador en la posición inicial de la primera secuencia.

  • last1 - Introduzca el iterador en la posición final de la primera secuencia.

  • first2 - Introduzca el iterador en la posición inicial de la segunda secuencia.

  • last2 - Introduzca el iterador en la posición final de la segunda secuencia.

  • comp - Una función binaria que acepta dos argumentos y devuelve bool.

Valor devuelto

Devuelve verdadero si el primer conjunto es un subconjunto de otro; de lo contrario, devuelve falso.

Excepciones

Lanza una excepción si la comparación de elementos o una operación en un iterador arroja una excepción.

Tenga en cuenta que los parámetros no válidos provocan un comportamiento indefinido.

Complejidad del tiempo

Lineal.

Ejemplo

El siguiente ejemplo muestra el uso de la función std :: algorítm :: includes ().

#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

bool compare(char a, char b) {
   return (tolower(a) == tolower(b));
}

int main(void) {
   vector<char> v1 = {'a', 'b', 'c', 'd', 'e'};
   vector<char> v2 = {'C', 'D', 'E'};
   bool result;

   result = includes(v1.begin(), v1.end(), v2.begin(), v2.end(), compare);

   if (result == true)
      cout << "Vector v2 is subset of v1" << endl;

   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Vector v2 is subset of v1