C++ 算法 is_permutation() 函數比較兩個容器中的元素,如果發現兩個容器中的所有元素都匹配,即使順序不同,也返回真值。第一個範圍從 [first1, last1) 開始,第二個範圍從 first2 開始。
用法
template<class ForwardIterator1, class ForwardIterator2> bool is_permutation(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2);
template<class ForwardIterator1, class ForwardIterator2, class BinaryPredicate> bool is_permutation(ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator first2, BinaryPredicate pred);
參數
first1:它是[first1,last1)第一個元素的輸入迭代器。
last1:它是[first1,last1)最後一個元素的輸入迭代器。
first2:它是[first2,last2)第一個元素的輸入迭代器。
pred: 它是一個二元函數,它接受兩個元素作為參數並執行函數設計的任務。
返回值
如果兩個容器中的所有元素都匹配,即使順序不同,該函數也返回值 true,否則返回 false。
示例
#include<iostream>
#include<algorithm>
#include<array>
int main()
{
std::array<int, 5> a={6,7,8,9,10};
std::array<int, 5> b={10,8,7,6,9};
if(std::is_permutation(a.begin(),a.end(),b.begin()))
std::cout<<"a and b have same elements.\n";
return 0;
}
輸出:
a and b have same elements.
複雜度
該函數從 first1 元素到 last1 元素具有線性複雜度。
數據競爭
訪問兩個範圍內的對象。
異常
如果任何參數拋出異常,該函數將拋出異常。
相關用法
- C++ is_trivial用法及代碼示例
- C++ isdigit()用法及代碼示例
- C++ iswdigit()用法及代碼示例
- C++ iswxdigit()用法及代碼示例
- C++ isfinite()用法及代碼示例
- C++ isnormal()用法及代碼示例
- C++ isless()用法及代碼示例
- C++ iswspace()用法及代碼示例
- C++ islessequal()用法及代碼示例
- C++ isprint()用法及代碼示例
- C++ isunordered()用法及代碼示例
- C++ isgreater()用法及代碼示例
- C++ iswupper()用法及代碼示例
- C++ isgreaterequal()用法及代碼示例
- C++ islessgreater()用法及代碼示例
- C++ isnan()用法及代碼示例
- C++ iswalnum()用法及代碼示例
- C++ iswlower()用法及代碼示例
- C++ isblank()用法及代碼示例
- C++ iswcntrl()用法及代碼示例
注:本文由純淨天空篩選整理自 C++ Algorithm Functions is_permutation()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。