非修改性序列操作(12个)

循环

对序列中的每个元素执行某操作

for_each()

查找

在序列中找出某个值的第一次出现的位置

find()

在序列中找出符合某谓词的第一个元素

find_if()

在序列中找出一子序列的最后一次出现的位置

find_end()

在序列中找出第一次出现指定值集中之值的位置

find_first_of()

在序列中找出相邻的一对值

adjacent_find()

计数

在序列中统计某个值出现的次数

count()

在序列中统计与某谓词匹配的次数

count_if()

比较

找出两个序列相异的第一个元素

mismatch()

两个序列中的对应元素都相同时为真

equal()

搜索

在序列中找出一子序列的第一次出现的位置

search()

在序列中找出一值的连续n次出现的位置

search_n()

修改性序列操作(27个)

复制

从序列的第一个元素起进行复制

copy()

从序列的最后一个元素起进行复制

copy_backward()

交换

交换两个元素

swap()

交换指定范围的元素

swap_ranges()

交换由迭代器所指的两个元素

iter_swap()

变换

将某操作应用于指定范围的每个元素

transform()

替换

用一个给定值替换一些值

replace()

替换满足谓词的一些元素

replace_if()

复制序列时用一给定值替换元素

replace_copy()

复制序列时替换满足谓词的元素

replace_copy_if()

填充

用一给定值取代所有元素

fill()

用一给定值取代前n个元素

fill_n()

生成

用一操作的结果取代所有元素

generate()

用一操作的结果取代前n个元素

generate_n()

删除

删除具有给定值的元素

remove()

删除满足谓词的元素

remove_if()

复制序列时删除具有给定值的元素

remove_copy()

复制序列时删除满足谓词的元素

remove_copy_if()

唯一

删除相邻的重复元素

unique()

复制序列时删除相邻的重复元素

unique_copy()

反转

反转元素的次序

reverse()

复制序列时反转元素的次序

reverse_copy()

环移

循环移动元素

rotate()

复制序列时循环移动元素

rotate_copy()

随机

采用均匀分布来随机移动元素

random_shuffle()

划分

将满足某谓词的元素都放到前面

partition()

将满足某谓词的元素都放到前面并维持原顺序

stable_partition()

序列排序及相关操作(27个)

排序

以很好的平均效率排序

sort()

排序,并维持相同元素的原有顺序

stable_sort()

将序列的前一部分排好序

partial_sort()

复制的同时将序列的前一部分排好序

partial_sort_copy()

第n个元素

将第n各元素放到它的正确位置

nth_element()

二分检索

找到大于等于某值的第一次出现

lower_bound()

找到大于某值的第一次出现

upper_bound()

找到(在不破坏顺序的前提下)可插入给定值的最大范围

equal_range()

在有序序列中确定给定元素是否存在

binary_search()

归并

归并两个有序序列

merge()

归并两个接续的有序序列

inplace_merge()

有序结构上的集合操作

一序列为另一序列的子序列时为真

includes()

构造两个集合的有序并集

set_union()

构造两个集合的有序交集

set_intersection()

构造两个集合的有序差集

set_difference()

构造两个集合的有序对称差集(并-交)

set_symmetric_difference()

堆操作

向堆中加入元素

push_heap()

从堆中弹出元素

pop_heap()

从序列构造堆

make_heap()

给堆排序

sort_heap()

最大和最小

两个值中较小的

min()

两个值中较大的

max()

序列中的最小元素

min_element()

序列中的最大元素

max_element()

词典比较

两个序列按字典序的第一个在前

lexicographical_compare()

排列生成器

按字典序的下一个排列

next_permutation()

按字典序的前一个排列

prev_permutat

 

algorithm 头文件的更多相关文章

  1. STL algorithm 头文件下的常用函数

    algorithm 头文件下的常用函数 1. max(), min()和abs() //max(x,y)和min(x,y)分别返回x和y中的最大值和最小值,且参数必须时两个(可以是浮点数) //返回3 ...

  2. algorithm头文件下的常用函数

    algorithm头文件常用高效函数 max() max(a, b)返回a和b中的最大值,参数必须是两个(可以是浮点型). 1 #include <iostream> 2 #include ...

  3. c++标准模板库algorithm头文件中accumulate算法的代码

    template <typename T>T algorithm(T* start, T* end, T total)//把[start, end)标记范围内所有元素累加到total中{  ...

  4. C++ 头文件系列 (algorithm)

    简介 algorithm头文件是C++的标准算法库,它主要应用在容器上. 因为所有的算法都是通过迭代器进行操作的,所以算法的运算实际上是和具体的数据结构相分离的 ,也就是说,具有低耦合性. 因此,任何 ...

  5. sort()函数与qsort()函数及其头文件

    sort()函数与qsort()函数及其头文件 sort()函数是C++中的排序函数其头文件为:#include<algorithm>头文件: qsort()是C中的排序函数,其头文件为: ...

  6. [C++]头文件<algorithm>

    本博文仅示例一些常用的函数: sort.for_each. 1. sort /* STL - <algorithm> - sort template< class RandomIt, ...

  7. C++中的算法头文件<algorithm>,<numeric>和<functional>

    算法部分主要由头文件<algorithm>,<numeric>和<functional>组成.<algorithm>是所有STL头文件中最大的一个,它是 ...

  8. 使用powershell批量添加Keil和IAR的头文件路径

    在Keil和IAR的工程中,为了使文件结构清晰,通常会设置很多的子文件夹,然后将头文件和源文件放在不同的子文件夹中,这样就需要手动添加这些头文件夹的路径.当工程结构非常复杂时,文件夹的数量就非常多,特 ...

  9. 高级c++头文件bits/stdc++.h

    用这种方法声明头文件只需两行代码 #include<bits/stdc++.h> using namespace std; 这个头文件包含以下等等C++中包含的所有头文件: #includ ...

随机推荐

  1. hihocoder第三十六周 二分查找

    题目链接:http://hihocoder.com/contest/hiho36/problem/1 , 一个比较简单的二分. 算法: 由于数据量比较大,O(nlogn)无法通过,所以不能先排序再查找 ...

  2. ubuntu openstack windows 镜像制作

    openstack  windows 镜像制作 首先下载windows所需要的驱动,virtio-win-1.1.16.vfd virtio-win-0.1-59.iso 下载的官方地址是: http ...

  3. POJ 2010 Moo University - Financial Aid(堆维护滑窗kth,二分)

    按照score排序,贪心,从左到右用堆维护并且记录前面的最小N/2个花费之和. 然后从右向左枚举中位数,维护N/2个数之和加上并判断是否满足条件.(stl的队列没有clear(),只能一个一个pop. ...

  4. [OS] 可执行文件的装载

    http://www.jianshu.com/p/e1300e7a4c48 1. 虚拟内存 在早期的计算机中,程序是直接运行在物理内存上的,程序在运行时访问的地址就是物理地址.可是,当计算机中同时运行 ...

  5. vuejs课程简介及框架简介

    vuejs准备知识: 1.前端开发基础 html css js 2.前端模块化基础 3.对es6有初步的了解   vuejs是一种轻量级的MVM框架,他吸收了react和angular的优点,强调re ...

  6. Airflow 调度基础

    1. Airflow Airflow是一个调度.监控工作流的平台.用于将一个工作流制定为一组任务的有向无环图(DAG),并指派到一组计算节点上,根据相互之间的依赖关系,有序执行. 2. 安装 pip安 ...

  7. python_57_高阶函数

    变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数. def add(a,b,f): return f(a)+f(b) res=add(-3,- ...

  8. N-gram的原理、用途和研究

    N-gram的原理.用途和研究 N-gram的基本原理 转自:http://blog.sciencenet.cn/blog-713101-797384.html N-gram是计算机语言学和概率论范畴 ...

  9. windows下安装Linux虚拟机

    一.下载ios 下载网址:https://wwww.centos.org 选择一个.iso下载 二.安装一个vmware workstation或者Hyper-v的虚拟机 2.1.Hyper-v 2. ...

  10. Oracle分页抽数存储过程

    --outTotal是需要返回的总数,v_loginUserId是传入的登录人ID,抽取他的客户,v_CurrPage是传入的第几页,v_pageSize传入的每页数据条数. ) FROM tb_cu ...