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

C++ is_permutation()

C++ 算法函数is_permutation()

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)的last元素的输入迭代器。
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元素的线性复杂度。

数据竞争

访问两个范围内的对象。

异常

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

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