std::igual() en C++

std::equal() ayuda a comparar los elementos dentro del rango [first_1,last_1) con aquellos dentro del rango que comienza en first_2. Sintaxis 1:

template 
  bool equal (InputIterator1 first1, InputIterator1 last1,
              InputIterator2 first2)
    
first_1, last_1 : Initial and final positions of the first
    sequence. All the elements are present within a range [first_1,last_1)
first2 : Initial position of the second sequence.

Returns : 
true, if all of the elements in both ranges match; otherwise false

CPP

// C++ program illustrating
// use of  bool equal (InputIterator1 first1, InputIterator1 last1,
// InputIterator2 first2)
     
 
#include <bits/stdc++.h>
 
int main()
{
    int v1[] = { 10, 20, 30, 40, 50 };
    std::vector<int> vector_1 (v1, v1 + sizeof(v1) / sizeof(int) );
 
    // Printing vector1
    std::cout << "Vector contains : ";
    for (unsigned int i = 0; i < vector_1.size(); i++)
        std::cout << " " << vector_1[i];
    std::cout << "\n";
 
    // using std::equal()
    // Comparison within default constructor
    if ( std::equal (vector_1.begin(), vector_1.end(), v1) )
        std::cout << "The contents of both sequences are equal.\n";
    else
        printf("The contents of both sequences differ.");
 
}

Producción:

Vector contains :  10, 20, 30, 40, 50
The contents of both sequences are equal.

Sintaxis 2:

template 
  bool equal (InputIterator1 first1, InputIterator1 last1,
              InputIterator2 first2, BinaryPredicate pred);

first_1, last_1 : Initial and final positions of the first
    sequence. All the elements are present within a range [first_1,last_1)
first2 : Initial position of the second sequence.
pred : Binary function that accepts two elements as argument 
      and returns a value convertible to boolean.

Returns : 
true, if all of the elements in both ranges match; otherwise false

CPP

// C++ program illustrating
// use of bool equal (InputIterator1 first1, InputIterator1 last1,
// InputIterator2 first2, BinaryPredicate pred);
 
#include <bits/stdc++.h>
 
bool pred(int i, int j)
{
    return (i != j);
}
 
int main()
{
    int v1[] = { 10, 20, 30, 40, 50 };
    std::vector<int> vector_1 (v1, v1 + sizeof(v1) / sizeof(int) );
 
    // Printing vector1
    std::cout << "Vector contains : ";
    for (unsigned int i = 0; i < vector_1.size(); i++)
        std::cout << " " << vector_1[i];
    std::cout << "\n";
 
    // using std::equal()
    // Comparison based on pred
    if ( std::equal (vector_1.begin(), vector_1.end(), v1, pred) )
        std::cout << "The contents of both sequences are equal.\n";
    else
        printf("The contents of both sequences differ.");
 
}

Producción:

Vector contains :  10, 20, 30, 40, 50
The contents of both sequences differ.

Complejidad temporal: O(n)

Artículos relacionados:

Este artículo es una contribución de . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *