C++ 算法 equal()function 比較兩個容器中的元素,如果發現兩個容器中的所有元素都匹配,則返回真值。第一個範圍從 [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)最後一個元素的輸入迭代器。
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 元素具有線性複雜度。
數據競爭
訪問兩個範圍內的對象。
異常
如果任何參數拋出異常,該函數將拋出異常。
相關用法
- C++ expm1()用法及代碼示例
- C++ exception::what()用法及代碼示例
- C++ ecvt()用法及代碼示例
- C++ exception::bad_exception用法及代碼示例
- C++ complex exp()用法及代碼示例
- C++ exit()用法及代碼示例
- C++ exp2()用法及代碼示例
- C++ unordered_map cbegin用法及代碼示例
- C++ map lower_bound()用法及代碼示例
- C++ list assign()用法及代碼示例
- C++ std::max()用法及代碼示例
- C++ std::string::push_back()用法及代碼示例
- C++ multimap key_comp()用法及代碼示例
- C++ Deque erase()用法及代碼示例
- C++ std::less_equal用法及代碼示例
- C++ set rbegin()用法及代碼示例
- C++ llround()用法及代碼示例
- C++ getline(string)用法及代碼示例
- C++ boost::algorithm::all_of()用法及代碼示例
- C++ string::length()用法及代碼示例
注:本文由純淨天空篩選整理自 C++ Algorithm Function equal()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。