C++教程
C++控制语句
C++函数
C++数组
C++指针
C++对象
C++继承
C++多态
C++抽象
C++常用
C++ STL教程
C++迭代器
C++程序

C++ equal()

C++ 算法函数equal()

C++ 算法equal()函数比较两个容器中的元素,如果找到两个容器中的所有元素,则返回true值匹配。第一个范围从[first1,last1)开始,第二个范围从first2开始。

语法

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 first1, BinaryPredicate pred);

参数

first1 : 它是[first1,last1)的第一个元素的输入迭代器。
last1 : 它是[first1,last1)的last元素的输入迭代器。
first2 : 它是第一个元素的输入迭代器。 [first2,last2)的元素。
pred : 它是一个二进制函数,接受两个元素作为参数并执行该函数设计的任务。

返回值

如果两个容器中的所有元素都匹配,则该函数返回值true,否则返回false。

示例1

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
bool newpredicate(int m, int n)
{
    return(m==n);
}
int main()
{
    int newints[]={20,40,60,80,100};
    std::vector<int> newvector(newints, newints+5);
    if(std::equal(newvector.begin(),newvector.end(),newints))
    std::cout<<"Both the containers have matching elements.\n";
    else
    std::cout<<"Both the containers have difference elements.\n";
    newvector[3]=81;
    if(std::equal(newvector.begin(),newvector.end(),newints,newpredicate))
    std::cout<<"Both the containers have equal containers.\n";
    else
    std::cout<<"Both the containers do not have equal elements. \n";
    return 0;
}
输出:
Both the containers have matching elements.
Both the containers do not have equal elements.

示例2

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int u1[]={10,20,30,40,50};
    std::vector<int> vec_1(u1,u1+sizeof(u1)/sizeof(int));
    std::cout<<"The vector consists of:";
    for(unsigned int k=0; k<vec_1.size(); k++)
    std::cout<<" "<<vec_1[k];
    std::cout<<"\n";
    if(std::equal(vec_1.begin(),vec_1.end(),u1))
    std::cout<<"Both the containers have equal elements.\n";
    else
    cout<<"Both containers have different elements.";
}
输出:
The vector consists of: 10, 20,30,40,50
Both the containers have equal elements.

复杂度

该函数具有从first1元素到last1元素的线性复杂度。

数据竞争

访问两个范围中的对象。

异常

如果任何参数抛出一个异常,该函数将引发异常。

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4