equal

De cppreference.com
Saltar a: navegación, buscar

Sintaxis:

    #include <algorithm>
    bool equal( input_iterator inicio1, input_iterator fin1, input_iterator2 inicio2 );
    bool equal( input_iterator inicio1, input_iterator fin1, input_iterator2 inico2, BinPred igualdad );

La función equal compara elemento a elemento dos rangos, uno empezando en inicio1 y el otro empezando en inicio2, con la misma cantidad de elementos, y devuelve verdadero si son iguales, o falso si no. En otras palabras, equal retorna verdadero si y sólo si:

  *inicio1     == *inicio2
  *(inicio1+1) == *(inicio2+1)
  *(inicio1+2) == *(inicio2+2)
  ...
  *(inicio1+N) == *(inicio2+N)

Una alternativa con un predicado binario igual es provista para ser usada en vez del operador de igualdad ( == ) para comparar cada par de elementos.

Como ejemplo, este código usa equal para comparar dos vectores de enteros:

   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 y v2 son iguales" << endl;
   } else {
     cout << "v1 y v2 NO son iguales" << endl;
   }

Cuando es provisto, igualdad es un predicado binario con la forma funcional: igualdad (T t1, T t2) → bool.

mismatch es una función relacionada que determina dónde difieren dos rangos si es que no son iguales.

Tópicos Relacionados: find_if, lexicographical_compare, mismatch, search

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas
Otros idiomas