zoukankan      html  css  js  c++  java
  • 【转载】algorithm、numeric、functional

    reference url:http://www.cplusplus.com/reference/algorithm

    reference url:https://blog.csdn.net/Swust_Zeng_zhuo_K/article/details/80113384

    <algorithm>

    Standard Template Library: Algorithms

    The header <algorithm>
    A range is any sequence of objects that can be accessed through iterators or pointers, such as an array or an instance of some of the . Notice though, that algorithms operate through iterators directly on the values, not affecting in any way the structure of any possible container (it never affects the size or storage allocation of the container).

    Functions

    Non-modifying sequence operations

    • any_of

      Test if any element in range fulfills condition (function template )

    • none_of

      Test if no elements fulfill condition (function template )

    • for_each

      Apply function to range (function template )

    • find

      Find value in range (function template )

    • find_if

      Find element in range (function template )

    • find_if_not

      Find element in range (negative condition) (function template )

    • find_end

      Find last subsequence in range (function template )

    • find_first_of

      Find element from set in range (function template )

    • adjacent_find

      Find equal adjacent elements in range (function template )

    • count

      Count appearances of value in range (function template )

    • count_if

      Return number of elements in range satisfying condition (function template )

    • mismatch

      Return first position where two ranges differ (function template )

    • equal

      Test whether the elements in two ranges are equal (function template )

    • is_permutation

      Test whether range is permutation of another (function template )

    • search

      Search range for subsequence (function template )

    • search_n

      Search range for elements (function template )

    Modifying sequence operations

    • copy_n

      Copy elements (function template )

    • copy_if

      Copy certain elements of range (function template )

    • copy_backward

      Copy range of elements backward (function template )

    • move

      Move range of elements (function template )

    • move_backward

      Move range of elements backward (function template )

    • swap

      Exchange values of two objects (function template )

    • swap_ranges

      Exchange values of two ranges (function template )

    • iter_swap

      Exchange values of objects pointed to by two iterators (function template )

    • transform

      Transform range (function template )

    • replace

      Replace value in range (function template )

    • replace_if

      Replace values in range (function template )

    • replace_copy

      Copy range replacing value (function template )

    • replace_copy_if

      Copy range replacing value (function template )

    • fill

      Fill range with value (function template )

    • fill_n

      Fill sequence with value (function template )

    • generate

      Generate values for range with function (function template )

    • generate_n

      Generate values for sequence with function (function template )

    • remove

      Remove value from range (function template )

    • remove_if

      Remove elements from range (function template )

    • remove_copy

      Copy range removing value (function template )

    • remove_copy_if

      Copy range removing values (function template )

    • unique

      Remove consecutive duplicates in range (function template )

    • unique_copy

      Copy range removing duplicates (function template )

    • reverse

      Reverse range (function template )

    • reverse_copy

      Copy range reversed (function template )

    • rotate

      Rotate left the elements in range (function template )

    • rotate_copy

      Copy range rotated left (function template )

    • random_shuffle

      Randomly rearrange elements in range (function template )

    • shuffle

      Randomly rearrange elements in range using generator (function template )

    Partitions

    Sorting

    • stable_sort

      Sort elements preserving order of equivalents (function template )

    • partial_sort

      Partially sort elements in range (function template )

    • partial_sort_copy

      Copy and partially sort range (function template )

    • is_sorted

      Check whether range is sorted (function template )

    • is_sorted_until

      Find first unsorted element in range (function template )

    • nth_element

      Sort element in range (function template )

    • upper_bound

      Return iterator to upper bound (function template )

    • equal_range

      Get subrange of equal elements (function template )

    • binary_search

      Test if value exists in sorted sequence (function template )

    Merge

    • inplace_merge

      Merge consecutive sorted ranges (function template )

    • includes

      Test whether sorted range includes another sorted range (function template )

    • set_union

      Union of two sorted ranges (function template )

    • set_intersection

      Intersection of two sorted ranges (function template )

    • set_difference

      Difference of two sorted ranges (function template )

    • set_symmetric_difference

      Symmetric difference of two sorted ranges (function template )

    Heap

    • pop_heap

      Pop element from heap range (function template )

    • make_heap

      Make heap from range (function template )

    • sort_heap

      Sort elements of heap (function template )

    • is_heap

      Test if range is heap (function template )

    • is_heap_until

      Find first element not in heap order (function template )

    Min/max

    • max

      Return the largest (function template )

    • minmax

      Return smallest and largest elements (function template )

    • min_element

      Return smallest element in range (function template )

    • max_element

      Return largest element in range (function template )

    • minmax_element

      Return smallest and largest elements in range (function template )

    Other

    <numeric>

    Generalized numeric operations

    This header describes a set of algorithms to perform certain operations on sequences of numeric values.

    Due to their flexibility, they can also be adapted for other kinds of sequences.

    Functions

    • accumulate

      Accumulate values in range (function template )

    • adjacent_difference

      Compute adjacent difference of range (function template )

    • inner_product

      Compute cumulative inner product of range (function template )

    • partial_sum

      Compute partial sums of range (function template )

    • iota

      Store increasing sequence (function template )

    <functional>

    Function objects

    Function objects

    They are typically used as arguments to functions, such as predicates or comparison functions passed to standard algorithms

    Functions

    These functions create objects of wrapper classes based on its arguments:

    • cref

      Construct reference_wrapper to const (function template )

    • mem_fn

      Convert member function to function object (function template )

    • not1

      Return negation of unary function object (function template )

    • not2

      Return negation of binary function object (function template )

    • ref

      Construct reference_wrapper (function template )

    Classes

    Wrapper classes

    Wrapper classes

    Operator classes

    Operator classes

    • bit_or

      Bitwise OR function object class (class template )

    • bit_xor

      Bitwise XOR function object class (class template )

    • divides

      Division function object class (class template )

    • equal_to

      Function object class for equality comparison (class template )

    • greater

      Function object class for greater-than inequality comparison (class template )

    • greater_equal

      Function object class for greater-than-or-equal-to comparison (class template )

    • less

      Function object class for less-than inequality comparison (class template )

    • less_equal

      Function object class for less-than-or-equal-to comparison (class template )

    • logical_and

      Logical AND function object class (class template )

    • logical_not

      Logical NOT function object class (class template )

    • logical_or

      Logical OR function object class (class template )

    • minus

      Subtraction function object class (class template )

    • modulus

      Modulus function object class (class template )

    • multiplies

      Multiplication function object class (class template )

    • negate

      Negative function object class (class template )

    • not_equal_to

      Function object class for non-equality comparison (class template )

    • plus

      Addition function object class (class template )

    Other classes

    Namespaces

  • 相关阅读:
    Java实现八大排序算法
    Java实现二分查找算法
    Win10下通过IIS调试ASP程序遇到的问题和解决方案
    Nginx几种负载均衡算法及配置实例
    Java解决CSRF问题
    Nginx Https配置不带www跳转www
    面试中的Https
    面试中的DNS
    java系列视频教程下载
    关于Mysql DATE_FORMAT() 日期格式
  • 原文地址:https://www.cnblogs.com/ericling/p/11942561.html
Copyright © 2011-2022 走看看