在標頭“ boost /algorithm /cxx11 /equal.hpp”測試下的C++ Boost庫中的equal()函數可以查看兩個序列是否包含相等的值。它返回一個布爾值,該值確定兩個序列是否相同。
用法:
bool equal ( InputIterator1 first1, InputIterator1 second1, InputIterator2 first2, InputIterator2 second2 ) or bool equal ( InputIterator1 first1, InputIterator1 second1, InputIterator2 first2, InputIterator2 second2, BinaryPredicate pred )
參數:該函數接受如下所述的參數:
- first1:它指定輸入迭代器到第一個序列中的初始位置。
- second1:它指定輸入迭代器到第一個序列中的最終位置。
- first2:它指定輸入迭代器到第二個序列中的初始位置。
- second2:它指定輸入迭代器到第二個序列的最終位置。
- p:如果指定,則指定比較謂詞。
返回值:如果兩個序列相同,則該函數返回true,否則返回false。
Note:以上函數在C++ 14及更高版本上運行。
Program-1:
// C++ program to implement the
// above mentioned function
#include <bits/stdc++.h>
#include <boost/algorithm/cxx14/equal.hpp>
using namespace std;
// Drivers code
int main()
{
// Declares the sequences
int a[] = { 1, 2, 5, 6, 8 };
int b[] = { 1, 2, 5, 6, 8 };
// Run the function
bool ans
= boost::algorithm::equal(a, a + 5, b, b + 5);
// Condition to check
if (ans == 1)
cout << "Sequence1 and Sequence2 are equal";
else
cout << "Sequence1 and Sequence2 are not equal";
return 0;
}
輸出:
Sequence1 and Sequence2 are equal
Program-2:
// C++ program to implement the
// above mentioned function
#include <bits/stdc++.h>
#include <boost/algorithm/cxx14/equal.hpp>
using namespace std;
// Drivers code
int main()
{
// Declares the sequences
int a[] = { 1, 2, 5, 6, 8 };
int b[] = { 1, 2, 5 };
// Run the function
bool ans
= boost::algorithm::equal(a, a + 5, b, b + 5);
// Condition to check
if (ans == 1)
cout << "Sequence1 and Sequence2 are equal";
else
cout << "Sequence1 and Sequence2 are not equal";
return 0;
}
輸出:
Sequence1 and Sequence2 are not equal
相關用法
注:本文由純淨天空篩選整理自gopaldave大神的英文原創作品 boost::algorithm::equal() in C++ library。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。