C++ 算法 any_of()函数

C++ 算法 any_of()函数

C++算法 any_of() 函数在范围内的每个元素上测试 ‘pred’ 的值,如果对于任何一个元素,pred 的值为 true,则函数返回 true,否则返回 false。

语法

template <class InputIteratir, class UnaryPredicate>
bool any_of (InputIterator first, InputIterator last, UnaryPredicate pred);

参数

first :它是指定范围中的第一个元素。

last :它是指定范围中的最后一个元素。

pred :它是一个接受来自范围的参数的一元函数。

返回值

该函数有一个返回类型,为”true”。如果参数”pred”对于范围中的任意一个元素的值为true,则返回值为”true”,否则为false。

示例1

#include <iostream>
#include <algorithm>
#include <array>
using namespace std;
int main()
{
    int arr[7] = {2,4,6,5,10,3,14};
    any_of(arr,arr+6, [](int k){return k%2;})?
    cout <<"There are elements which exist in the table of 2":
    cout<<"No elements in the table of 2 exists";
    return 0;
}

输出:

There are elements which exist in the table of 2.

示例2

#include <iostream>
#include <algorithm>
#include <array>
int main()
{
    std::array<int, 5> arr = {2,-4,6,-9,10};
    if(std::any_of (arr.begin(), arr.end(), [](int k) { return k<0;}))
    std::cout <<"Negative elements exist in the array";
    return 0;
}

输出:

Negative elements exist in the array

复杂性

该函数以线性方式移动,从第一个元素开始向最后一个元素移动。对于列表的每个元素,都会检查 ‘pred’ 的值。搜索会一直进行,直到遇到 ‘pred’ 值的不匹配。

数据竞争

该函数要么访问指定范围内的所有对象,要么访问其中一些对象。

异常

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程