• STL --> find()和find_if()


    find()和find_if()

     

    一、find()函数

    find(first, end, value);   //

    返回区间[first,end)中第一个值等于value的元素的位置。如果没有找到匹配元素,则返回end。

    用法:

    vector<int> v{0, 1, 2, 3, 4};
    auto pos = find(v.begin(v), v.end(), 3);  // vector<int>::iterator pos; 
    if (pos != std::end(v))   
       cout << "v contains: " << n1 ; //v contains: 3

    函数原型:

    template<class InputIt, class T>
    InputIt find(InputIt first, InputIt last, const T& value)
    {
        for (; first != last; ++first) {
            if (*first == value) {
                return first;
            }
        }
        return last;
    }

    二、find_if()函数

    find_if (begin, end, func)  //

    从begin开始 ,到end为止,返回第一个让 func这个函数返回true的iterator。

    函数原型:

    template<class InputIt, class UnaryPredicate>
    InputIt find_if(InputIt first, InputIt last, UnaryPredicate p)
    {
        for (; first != last; ++first) {
            if (p(*first)) {
                return first;
            }
        }
        return last;
    }
  • 相关阅读:
    链式栈的C++实现
    Java面试之设计模式二
    前端资源
    Java面试之异常
    Java面试之序列化
    Java面试之重写(Override)与重载(Overload)
    项目视图展示
    Java面试之集合
    Java面试之SSH框架面试题集锦
    JDBC技术
  • 原文地址:https://www.cnblogs.com/jeakeven/p/5017007.html
Copyright © 2020-2023  润新知