algorithm 头文件
非修改性序列操作(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 头文件的更多相关文章
- STL algorithm 头文件下的常用函数
algorithm 头文件下的常用函数 1. max(), min()和abs() //max(x,y)和min(x,y)分别返回x和y中的最大值和最小值,且参数必须时两个(可以是浮点数) //返回3 ...
- algorithm头文件下的常用函数
algorithm头文件常用高效函数 max() max(a, b)返回a和b中的最大值,参数必须是两个(可以是浮点型). 1 #include <iostream> 2 #include ...
- c++标准模板库algorithm头文件中accumulate算法的代码
template <typename T>T algorithm(T* start, T* end, T total)//把[start, end)标记范围内所有元素累加到total中{ ...
- C++ 头文件系列 (algorithm)
简介 algorithm头文件是C++的标准算法库,它主要应用在容器上. 因为所有的算法都是通过迭代器进行操作的,所以算法的运算实际上是和具体的数据结构相分离的 ,也就是说,具有低耦合性. 因此,任何 ...
- sort()函数与qsort()函数及其头文件
sort()函数与qsort()函数及其头文件 sort()函数是C++中的排序函数其头文件为:#include<algorithm>头文件: qsort()是C中的排序函数,其头文件为: ...
- [C++]头文件<algorithm>
本博文仅示例一些常用的函数: sort.for_each. 1. sort /* STL - <algorithm> - sort template< class RandomIt, ...
- C++中的算法头文件<algorithm>,<numeric>和<functional>
算法部分主要由头文件<algorithm>,<numeric>和<functional>组成.<algorithm>是所有STL头文件中最大的一个,它是 ...
- 使用powershell批量添加Keil和IAR的头文件路径
在Keil和IAR的工程中,为了使文件结构清晰,通常会设置很多的子文件夹,然后将头文件和源文件放在不同的子文件夹中,这样就需要手动添加这些头文件夹的路径.当工程结构非常复杂时,文件夹的数量就非常多,特 ...
- 高级c++头文件bits/stdc++.h
用这种方法声明头文件只需两行代码 #include<bits/stdc++.h> using namespace std; 这个头文件包含以下等等C++中包含的所有头文件: #includ ...
随机推荐
- linux 命令——6 rmdir(转)
今天学习一下linux中命令: rmdir命令.rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的.(注意,rm - r dir命令可代替rmdir,但是有很大危险性.)删 ...
- 汶川大地震中的SAP成都研究院
5·12汶川地震,发生于北京时间(UTC+8)2008年5月12日(星期一)14时28分04秒,此次地震的面波震级 里氏震级达8.0Ms.矩震级达8.3Mw,地震烈度达到11度.地震波及大半个中国及亚 ...
- 优化你的java代码性能
一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子:import java.util. ...
- axios常见传参方式
1:get请求 一般发送请求是这么写 axios.get('/user?id=12345&name=user') .then(function (res) { console.log(res) ...
- 【转】C++ 值传递、指针传递、引用传递详解
而关于值传递,指针传递,引用传递这几个方面还会存在误区, 所有我觉的有必要在这里也说明一下~ 下文会通过例子详细说明哦 值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值.从被调用函数的角 ...
- Centos7之Nginx
1.安装 下载RPM: wget http://nginx.org/download/nginx-1.16.0.tar.gz 解压:tar -zxf nginx-1.16.0.tar.gz 安装: c ...
- 搭建Nginx反向代理做内网域名转发
由于公司内网有多台服务器的 http 服务要映射到公司外网静态 IP,如果用路由的端口映射来做,就只能一台内网服务器的 80 端口映射到外网 80 端口,其他服务器的 80 端口只能映射到外网的非 8 ...
- 怎样查看web软件例如apache的连接数
查看连接总数和当前的连接数 netstat -ant | grep $ip:80 | wc -l netstat -ant | grep $ip:80 | grep EST | wc -l 查看IP访 ...
- Gym - 101128F Landscaping(网络流)
题意 给你一个\(N×M\)的草地,有高地有低地. 收割机从低地走到高地或者从高地走到低地都要花费用\(A\),你可以花费用\(B\)把一块高地变成低地,或者把一块低地变成高地.收割机每行每列都是必须 ...
- 2017 ACM-ICPC EC-Final ShangHai(思维乱搞赛)
感觉全是思维乱搞题. Gym - 101775J Straight Master 给你n种扑克,你每次可以出连续的3 ~ 5 张,问你能否出完. Sample Input 2 13 1 2 2 1 0 ...