stl源码剖析 详细学习笔记 算法总览
//****************************基本算法*****************************
/*
stl算法总览,不在stl标准规格的sgi专属算法,都以 *加以标记
算法名称
算法用途 质变
所在文件
accumulate 元素累计
否 <stl_numeric.h>
adjacent_difference 相邻元素的差额
是 if in-place <stl_numeric.h>
adjacent_find 查找相邻而重复
否 <stl_algo.h>
(或符合某条件)的元素
binary_search 二分查找
否 <stl_algo.h>
Copy 复制
是 if in-place <stl_algobase.h>
Copy_backward 逆向复制
是 if in-place <stl_algobase.h>
Copy_n * 复制n个元素
是 if in-place <stl_algobase.h>
count 计数
否 <stl_algo.h>
count_if 在特定条件下计数
否 <stl_algo.h>
equal 判断两个区间是否相等
否 <stl_algobase.h>
equal_range 试图在有序区间中寻找
某值(返回一个上下限区间)
否 <stl_algo.h>
fill 改填元素值
是 <stl_algobase.h>
fill_n 改填元素值,n次
是 <stl_algobase.h>
find 循序查找
否 <stl_algo.h>
find_if 循序查找符合特定条件者
否 <stl_algo.h>
find_end 查找某个子序列的最后
否 <stl_algo.h>
一次出现点
find_first_of 查找某些元素的首次出现点
否 <stl_algo.h>
for_each 对区间内的每一个元素施行
否 <stl_algo.h>
某操作
generate 以特定操作之运算结果
是 <stl_algo.h>
填充特定区间内的元素
generate_n 以特定操作之运算结果
是 <stl_algo.h>
填充n个元素
includes 是否涵盖于某序列之中
否 <stl_algo.h>
inner_product 内积
否 <stl_numeric.h>
inplace_merge 合并并就地替换(复写上去)
是 <stl_algo.h>
iota * 在某区间填入某指定值的
是 <stl_numeric.h>
递增序列
is_heap * 判断某区间是否为一个heap
否 <stl_algo.h>
is_sorted * 判断某区间是否已排序
否 <stl_algo.h>
iter_swap 元素互换
是 <stl_algobase.h>
lexicograpghical_ 以字典顺序进行比较
否 <stl_numeric.h>
compare
lower_bound 将指定元素插入区间之内
否 <stl_algo.h>
而不影响区间之原本排序的最低位置
max 最大值
否 <stl_algobase.h>
max_element 最大值所在位置
否 <stl_algo.h>
merge 合并两个序列
是 if in-place <stl_algo.h>
min 最小值
否 <stl_algobase.h>
min_element 最小值所在位置
否 <stl_algo.h>
mismatch 找出不匹配点
否 <stl_algobase.h>
next_permutation 获得下一个排列组合
是 <stl_algo.h>
nth_element 重新安排序列中的第n个
是 <stl_algo.h>
元素的左右两端
partial_sort 局部排序
是 <stl_algo.h>
partial_sort_copy 局部排序并复制到他处
是 if in-place <stl_algo.h>
partial_sum 局部求和
是 if in-place <stl_numeric.h>
partition 分割
是 <stl_algo.h>
prev_permutation 获得前一个排列组合
是 <stl_algo.h>
power * 幂次方。表达式可指定
否 <stl_numeric.h>
random_suffle 随即重排元素
是 <stl_algo.h>
random_sample * 随即取样
是 if in-place <stl_algo.h>
random_sample_n * 随即取样
是 if in-place <stl_algo.h>
remove 删除某类元素(但不删除)
是 <stl_algo.h>
remove_copy 删除某类元素并将结果
是 <stl_algo.h>
复制到另一个容器
remove_if 有条件地删除某类元素
是 <stl_algo.h>
remove_copy_if 有条件地删除某类元素并将
是 <stl_algo.h>
结果复制到另一个容器
replace 替换某类元素
是 <stl_algo.h>
replace_copy 替换某类元素,并将结果
是 <stl_algo.h>
复制到另一个容器
replace_if 有条件地替换
是 <stl_algo.h>
replace_copy_if 有条件地替换,并将结果
是 <stl_algo.h>
复制到另一个容器
reverse 反转元素次序
是 <stl_algo.h>
reverse_copy 反转元素次序并将结果
是 <stl_algo.h>
复制到另一个容器
rotate 旋转
是 <stl_algo.h>
rotate_copy 旋转,并将结果复制到
是 <stl_algo.h>
另一个容器
search 查找某个子序列
否 <stl_algo.h>
search_n 查找连续发生n次的子序列
否 <stl_algo.h>
set_difference 差集
是 if in-place <stl_algo.h>
set_intersection 交集
是 if in-place <stl_algo.h>
set_symmetric_ 对称差集
是 if in-place <stl_algo.h>
difference
set_union 并集
是 if in-place <stl_algo.h>
sort 排序
是 <stl_algo.h>
stable_partition 分割并保持元素的相对次序
是 <stl_algo.h>
stable_sort 排序并保持等值元素的
是 <stl_algo.h>
相对次序
swap 交换(对调)
是 <stl_algobase.h>
swap_ranges 交换(指定区间)
是 <stl_algo.h>
transform 以两个序列为基础,交互
是 <stl_algo.h>
作用产生第三个序列
unique 将重复的元素折叠缩编,
是 <stl_algo.h>
使成唯一
unique_copy 将重复的元素折叠缩编,
是 if in-place <stl_algo.h>
使成唯一,并复制到他处
upper_bound 将指定元素插入区间之内
否 <stl_algo.h>
而不影响区间之原本排序
的最高位置
make_heap 制造一个heap
是 <stl_heap.h>
pop_heap 从heap取出一个元素
是 <stl_heap.h>
push_heap 将元素推进heap内
是 <stl_heap.h>
sort_heap 对heap排序
是 <stl_heap.h>
*/
stl源码剖析 详细学习笔记 算法总览的更多相关文章
- stl源码剖析 详细学习笔记 算法(1)
//---------------------------15/03/27---------------------------- //算法 { /* 质变算法:会改变操作对象之值 所有的stl算法都 ...
- stl源码剖析 详细学习笔记 算法(2)
//---------------------------15/03/29---------------------------- //****************************set相 ...
- stl源码剖析 详细学习笔记 算法(5)
//---------------------------15/04/01---------------------------- //inplace_merge(要求有序) template< ...
- stl源码剖析 详细学习笔记 算法(4)
//---------------------------15/03/31---------------------------- //lower_bound(要求有序) template<cl ...
- stl源码剖析 详细学习笔记 算法(3)
//---------------------------15/03/30---------------------------- //min_element template<class Fo ...
- stl源码剖析 详细学习笔记 hashtable
//---------------------------15/03/24---------------------------- //hashtable { /* 概述: sgi采用的是开链法完成h ...
- stl源码剖析 详细学习笔记 set map
// // set map.cpp // 笔记 // // Created by fam on 15/3/23. // // //---------------------------15/03 ...
- stl源码剖析 详细学习笔记 RB_tree (2)
//---------------------------15/03/22---------------------------- //一直好奇KeyOfValue是什么,查了下就是一个和仿函数差不多 ...
- stl源码剖析 详细学习笔记 RB_tree (1)
// // RB_tree_STL.cpp // 笔记 // // Created by fam on 15/3/21. // // #include "RB_tree_STL.h&q ...
随机推荐
- SQL Server 当表分区遇上唯一约束(转载)
一.前言 我已经在高兴对服务器创建了表分区并且获得良好性能和自动化管理分区切换的时候,某一天,开发人员告诉我,某表的两个字段的数据不唯一,需要为这两个字段创建唯一索引的时候,这一切就变得不完美了.列的 ...
- SqlServer中sqlmaint 实用工具和xp_sqlmaint扩展过程
sqlmaint 实用工具可以对一个或多个数据库执行一组指定的维护操作.使用 sqlmaint,可以运行 DBCC 检查.备份数据库及其事务日志.更新统计以及重建索引.所有数据库维护活动都会生成报表, ...
- EXI6.0的安装(找不到网卡、找不到磁盘)
给一台华为2488 V5 服务器安装EXI6.0服务 (问过华为售后不支持EXI5.5的安装,建议EXI6.0及以上版本) 根据界面提示信息按“Del”.进入BIOS设置界面 参考博客地址:https ...
- leaflet学习一 入门
1从官网https://leafletjs.com/下载的Leaflet包含文件: leaflet.js - 简化版的 Leaflet JavaScript代码 leaflet-src.js - 这是 ...
- 极限编程核心价值:简单(Simplicity)
写在前面 在编写 ASP.NET Core 项目时,深感项目设计的无力感,在软件设计方面我还有很长的路要走.我一直以来都把代码当作一种艺术的存在,认为自己是个"艺术家",其实就是个 ...
- javascript实现百度地图鼠标滑动事件显示、隐藏
其实现思路是给label设置样式,我们来看下具体做法吧 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 var label = new BMap.Labe ...
- day1-课堂笔记
venv 执行方法: 1,pycharm执行 2,cmd命令窗口执行:python D:\PyCharmProjects\MyProject\day1.py 回车 java原理: HW.jav ...
- pytorch的一些函数
1.tensor的view函数: view(*args) → Tensor 返回一个有相同数据但大小不同的tensor. 返回的tensor必须有与原tensor相同的数据和相同数目的元素,但可以有不 ...
- java.lang.NoSuchMethodError: No static method getFont
最近在Android Studio升级3.0后,在AlertDialog弹窗时报出了如下问题: java.lang.NoSuchMethodError: No static method getFon ...
- [转]在C++中容易出现的#error No Target Architecture
项目环境:win 7 64位,编译环境:VS2013 最近在写C++的项目,发现了自己很多不会的地方,这也使得我在C++中的成长变得比较快,下面我就说说我自己在写项目是遇到的一些问题,希望可以帮到一些 ...