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