• STL非变易算法


    非变易算法:原则上不会变更操作数据的算法。

    [1]    for_each:逐个容器元素,原型for_each(InputIter first, InputIter last, Function f)。

    [2]    find:顺序查找容器元素,原型InputIter find(InputIter first, InputIter last, constT &val, input_iterator_tag)。

    [3]    find_if:条件查找容器,原型InputIter find_if(InputIter first, InputIter last,Predicate pred, input_iterator_tag)。

    如查找首个能被5整除的元素。

    [4]    adjacent_find:邻近查找容器元素,用于查找相等或满足条件的邻近元素。如查找邻近元素奇偶性同样的元素。

    [5]    find_first_of:范围查找容器元素。

    [6]    count:统计等于某值的容器元素容器个数。

    [7]    count_if:条件统计容器元素个数,统计迭代器区间上满足条件的元素个数。如统计年龄在20~30之间的学生个数。

    [8]    mismatch:元素不匹配查找,逐一比較找出两个序列的首个不匹配元素的位置。

    返回值为pair对。

    [9]    equal:元素相等推断,逐一比較两个序列的元素是否相等(或是否满足推断条件)。

    比如推断两个vector容器的元素绝对值是否相等。

    [10] search:子序列搜索。用于在一个序列中搜索与还有一个序列匹配的子序列(或满足二元谓词推断条件)。实现:利用find函数查找第一个同样元素,接着比較其他元素是否同样。

    [11] search_n:反复元素子序列搜索。用于搜索序列中是否有一系列元素值均为某个给定值的子序列(或满足谓词推断条件)。实现:利用find函数查找第一个同样元素,接着看同样元素个数是否等于count。

    [12] find_end:最后一个子序列搜索,用于在一个序列中搜索出最后一个与还有一个序列匹配的子序列。实现:调用search算法找到满足条件的子序列,然后推断出其后再没有匹配的子序列,即为最后一个匹配的子序列。

  • 相关阅读:
    Python 绘制图表之我见 ---一个java程序员的看法
    机器学习系统设计--1.4
    XUtils3 的 环境搭建与简单使用
    关于SAX
    TensorFlow之Varibale 使用方法
    安装Nvidia k80驱动步骤
    TensorFlow 在android上的Demo(1)
    Python 去剑式
    python编程技巧2
    python语言技巧
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/7141493.html
Copyright © 2020-2023  润新知