Bibliothèque d'algorithmes C ++ - fonction includes ()

La description

La fonction C ++ std::algorithm::includes()tester si le premier ensemble est un sous-ensemble d'un autre ou non. Cette fonction membre attend les éléments dans l'ordre trié. Il utilise l' opérateur < pour la comparaison.

Déclaration

Voici la déclaration de l'en-tête std :: algorithm :: includes () de la fonction std :: algorithme.

C ++ 98

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

Paramètres

  • first1 - Entrer l'itérateur à la position initiale de la première séquence.

  • last1 - Entrer l'itérateur à la position finale de la première séquence.

  • first2 - Entrer l'itérateur à la position initiale de la deuxième séquence.

  • last2 - Entrer l'itérateur à la position finale de la deuxième séquence.

Valeur de retour

Renvoie true si le premier ensemble est un sous-ensemble d'un autre, sinon renvoie false.

Des exceptions

Lève une exception si la comparaison d'éléments ou une opération sur un itérateur lève une exception.

Veuillez noter que des paramètres non valides provoquent un comportement non défini.

Complexité temporelle

Linéaire.

Exemple

L'exemple suivant montre l'utilisation de la fonction std :: algorithm :: 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;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

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