Biblioteca de algoritmos de 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 el operador < para comparar.

Declaración

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

C ++ 98

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

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.

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;

int main(void) {
   vector<int> v1 = {1, 2, 3, 4, 5};
   vector<int> v2 = {3, 4, 5};
   bool result;

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

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

   v2 = {10};

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

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

   return 0;
}

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

Vector v2 is subset of v1
Vector v2 is not subset of v1