zoukankan      html  css  js  c++  java
  • STL中的equal函数

    STL中的equal函数:

    template<class InputIterator1, class InputIterator2>
    bool equal( InputIterator1 _First1, InputIterator1 _Last1, InputIterator2 _First2 ); template<class InputIterator1, class InputIterator2, class BinaryPredicate> bool equal( InputIterator1 _First1, InputIterator1 _Last1, InputIterator2 _First2, BinaryPredicate _Comp );
    View Code
     1 // alg_equal.cpp
     2 // compile with: /EHsc
     3 #include <vector>
     4 #include <algorithm>
     5 #include <iostream>
     6 
     7 // Return whether second element is twice the first
     8 bool twice ( int elem1, int elem2 )
     9 {
    10    return elem1 * 2 == elem2;
    11 }
    12 
    13 int main( )
    14 {
    15    using namespace std;
    16    vector <int> v1, v2, v3;
    17    vector <int>::iterator Iter1, Iter2, Iter3;
    18 
    19    int i;
    20    for ( i = 0 ; i <= 5 ; i++ )
    21    {
    22       v1.push_back( 5 * i );
    23    }
    24 
    25    int ii;
    26    for ( ii = 0 ; ii <= 5 ; ii++ )
    27    {
    28       v2.push_back( 5 * ii );
    29    }
    30 
    31    int iii;
    32    for ( iii = 0 ; iii <= 5 ; iii++ )
    33    {
    34       v3.push_back( 10 * iii );
    35    }
    36    
    37    cout << "v1 = ( " ;
    38    for ( Iter1 = v1.begin( ) ; Iter1 != v1.end( ) ; Iter1++ )
    39       cout << *Iter1 << " ";
    40    cout << ")" << endl;
    41 
    42    cout << "v2 = ( " ;
    43    for ( Iter2 = v2.begin( ) ; Iter2 != v2.end( ) ; Iter2++ )
    44       cout << *Iter2 << " ";
    45    cout << ")" << endl;
    46 
    47    cout << "v3 = ( " ;
    48    for ( Iter3 = v3.begin( ) ; Iter3 != v3.end( ) ; Iter3++ )
    49       cout << *Iter3 << " ";
    50    cout << ")" << endl;
    51 
    52    // Testing v1 and v2 for equality under identity
    53    bool b;
    54    b = equal( v1.begin( ), v1.end( ), v2.begin( ) );
    55 
    56    if ( b )
    57       cout << "The vectors v1 and v2 are equal under equality."
    58            << endl;
    59    else
    60       cout << "The vectors v1 and v2 are not equal under equality."
    61            << endl;
    62 
    63    // Testing v1 and v3 for equality under identity
    64    bool c;
    65    c = equal( v1.begin( ), v1.end( ), v3.begin( ) );
    66 
    67    if ( c )
    68       cout << "The vectors v1 and v3 are equal under equality."
    69            << endl;
    70    else
    71       cout << "The vectors v1 and v3 are not equal under equality."
    72            << endl;
    73 
    74    // Testing v1 and v3 for equality under twice
    75    bool d;
    76    d = equal( v1.begin( ), v1.end( ), v3.begin( ), twice );
    77 
    78    if ( d )
    79       cout << "The vectors v1 and v3 are equal under twice."
    80            << endl;
    81    else
    82       cout << "The vectors v1 and v3 are not equal under twice."
    83            << endl;
    84 }
    85  
    86 /*
    87 Output
    88   
    89 v1 = ( 0 5 10 15 20 25 )
    90 v2 = ( 0 5 10 15 20 25 )
    91 v3 = ( 0 10 20 30 40 50 )
    92 The vectors v1 and v2 are equal under equality.
    93 The vectors v1 and v3 are not equal under equality.
    94 The vectors v1 and v3 are equal under twice.
    95  */
     
  • 相关阅读:
    Saltstack_使用指南09_远程执行-编写执行模块
    Saltstack_使用指南08_远程执行-返回程序
    Saltstack_使用指南07_远程执行-执行模块
    Saltstack_使用指南06_远程执行-指定目标
    CentOS7 Docker私有仓库搭建及删除镜像 【转】
    Python Docker 查看私有仓库镜像【转】
    Saltstack_使用指南05_数据系统-Pillar
    Saltstack_使用指南04_数据系统-Grains
    Saltstack_使用指南03_配置管理
    Saltstack_使用指南02_远程执行-验证
  • 原文地址:https://www.cnblogs.com/cchun/p/2544020.html
Copyright © 2011-2022 走看看