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 )

Binary search

  • 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

【转载】algorithm、numeric、functional的更多相关文章

  1. C++ STL 一般总结(转载)

    注:原博地址:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/22/2603525.html 以下内容来源网上 经过整合而成 一.一般介绍 STL ...

  2. C++ STL 一般总结

    以下内容来源网上 经过整合而成(转载) 一.一般介绍 STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C++程序库.它被容纳于C++标准程序库( ...

  3. C++的STL

    今天,看一段代码的时候发现只一句话就做了个排序,是这样的: sort(rotateArray.begin(),rotateArray.end()); 很震惊,后来查了一下sort的用法, sort函数 ...

  4. STL---总结

    文章转自:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/22/2603525.html 一.STL的六大组件 容器(Container),是一种 ...

  5. c++中级 STL基础学习(二)

    deque 和vector差不多,可以在前端后端插入,一般用deque取代vector,vector只能在后端插入push_back().deque还可以push_front(),但是deque后端插 ...

  6. C++中的容器类详解

    一.STL容器类 STL(Standard Template Library)的六大组件:容器(containers).迭代器(iterators).空间配置器(allocator).配接器(adap ...

  7. STL算法

    STL算法部分主要由头文 件<algorithm>,<numeric>,<functional>组成.要使用 STL中的算法函数必须包含头文件<algorit ...

  8. 【STL源码学习】STL算法学习之一

    第一章:引子 STL包含的算法头文件有三个:<algorithm><numeric><functional>,其中最大最常用的是<algorithm>, ...

  9. STL中的所有算法(70个)

    STL中的所有算法(70个)----9种类型(略有修改by crazyhacking) 参考自: http://www.cppblog.com/mzty/archive/2007/03/14/1981 ...

  10. C++之STL总结精华笔记

                       一.一般介绍      STL(StandardTemplate Library),即标准模板库,是一个具有工业强度的,高效的C++程序库.它被容纳于C++标准程 ...

随机推荐

  1. 前端表单提交,提交有图片出现的问题,及解决方案 兼容ie9

    更新一下我的小园子,主要说的是jq文件上传的过程中,如果出现上传的文件里有图片问题 其实文件上传有图片的情况下,不是什么大问题,对于前端来说,但是,如果需要兼容ie9的时候,就需要处理一下 文件上传如 ...

  2. 《Java基础知识》Java final关键字:阻止继承和多态

    在 Java 中,声明类.变量和方法时,可使用关键字 final 来修饰.final 所修饰的数据具有“终态”的特征,表示“最终的”意思.具体规定如下: final 修饰的类不能被继承. final ...

  3. 《Dotnet9》建站-建站20天感悟

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...

  4. 约数之和(POJ1845 Sumdiv)

    最近应老延的要求再刷<算法进阶指南>(不得不说这本书不错)...这道题花费了较长时间~(当然也因为我太弱了)所以就写个比较易懂的题解啦~ 原题链接:POJ1845 翻译版题目(其实是AcW ...

  5. [Android逆向]APK反编译与回编译

    一.先查壳,再反编译看验证首先打开.apk文件==>反编译apk(dex/配置文件/资源文件(apk反编译失败)>修改关键文件实现自己的目的>重新打包签名(无法重新打包)==> ...

  6. RBAC-权限管理设计

    1.RBAC(Role-Based Access Control)——基于角色的访问控制.简单来说每个角色有不同的权限,通过对用户赋予不同角色来赋予其对应权限. 2.RBAC0:最基本的用户角色多对多 ...

  7. electron初探问题总结

    使用electron时间不是很久,随着使用的深入慢慢的也遇到一些问题,下面总结一下遇到的问题与大家分享,避免趟坑. 主要问题汇总如下: webview与渲染进程renderer间通信 BrowserW ...

  8. 搭建私人的云笔记_使用webdav服务

    搭建私人的云笔记_使用webdav服务 转载注明来源: 本文链接 来自osnosn的博客,写于 2019-10-10. 手机上有很多云笔记app,大多支持云存储.可是把笔记放在别人的服务器上,总觉得不 ...

  9. AI行业精选日报_人工智能(12·18)

    百度Apollo升级自动驾驶平台,发布车路协同.智能车联两大平台 12 月 18 日消息,Apollo 发布了全球首个点到点城市自动驾驶开放能力.自动驾驶云.新一代智能交通解决方案.小度车载 2020 ...

  10. 分布式图数据库 Nebula RC2 发布:增强了 CSV Importer 功能

    Nebula Graph 是开源的分布式图数据库,可应用于知识图谱.社交推荐.风控.IoT 等场景. 本次 RC2 主要新增 GO FROM ... REVERSELY 和 GROUP BY 等语句, ...