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