📜  C++库中的boost :: algorithm :: equal()

📅  最后修改于: 2021-05-30 11:04:10             🧑  作者: Mango

在标头“ 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。

    注意:上面的函数在C++ 14和更高版本上运行。

    计划1

    // C++ program to implement the
    // above mentioned function
      
    #include 
    #include 
    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
    

    计划2

    // C++ program to implement the
    // above mentioned function
      
    #include 
    #include 
    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
    

    参考:https://www.boost.org/doc/libs/1_70_0/libs/algorithm/doc/html/algorithm/CXX14.html#the_boost_algorithm_library.CXX14.equal

    要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程”