Syntaxe :
#include <algorithm> bool equal( iterator debut1, iterator fin1, iterator debut2 ); bool equal( iterator debut1, iterator fin1, iterator debut2 , BinPred p );
La fonction equal() retourne vrai si les deux séquences d'éléments fournies contiennent chacune les mêmes éléments que l'autre.
La première séquence contient les éléments compris entre debut1
et fin1
. La seconde a la même taille que la première, mais commence à debut2
.
Il est possible de spécifier un prédicat binaire p
qui sera alors utilisé à la place de l'opérateur == pour comparer chacun des éléments.
L'exemple ci-dessous montre comment utiliser equal() pour comparer deux vecteurs d'entiers v1
et v2
:
vector<int> v1; for( int i = 0; i < 10; i++ ) { v1.push_back( i ); } vector<int> v2; for( int i = 0; i < 10; i++ ) { v2.push_back( i ); } if( equal( v1.begin(), v1.end(), v2.begin() ) ) { cout << "v1 et v2 sont egaux" << endl; } else { cout << "v1 et v2 NE sont PAS egaux" << endl; }
Sujets connexes : find_if, lexicographical_compare, mismatch, search