//****************************基本算法*****************************

/*

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源码剖析 详细学习笔记 算法总览的更多相关文章

  1. stl源码剖析 详细学习笔记 算法(1)

    //---------------------------15/03/27---------------------------- //算法 { /* 质变算法:会改变操作对象之值 所有的stl算法都 ...

  2. stl源码剖析 详细学习笔记 算法(2)

    //---------------------------15/03/29---------------------------- //****************************set相 ...

  3. stl源码剖析 详细学习笔记 算法(5)

    //---------------------------15/04/01---------------------------- //inplace_merge(要求有序) template< ...

  4. stl源码剖析 详细学习笔记 算法(4)

    //---------------------------15/03/31---------------------------- //lower_bound(要求有序) template<cl ...

  5. stl源码剖析 详细学习笔记 算法(3)

    //---------------------------15/03/30---------------------------- //min_element template<class Fo ...

  6. stl源码剖析 详细学习笔记 hashtable

    //---------------------------15/03/24---------------------------- //hashtable { /* 概述: sgi采用的是开链法完成h ...

  7. stl源码剖析 详细学习笔记 set map

    // //  set map.cpp //  笔记 // //  Created by fam on 15/3/23. // // //---------------------------15/03 ...

  8. stl源码剖析 详细学习笔记 RB_tree (2)

    //---------------------------15/03/22---------------------------- //一直好奇KeyOfValue是什么,查了下就是一个和仿函数差不多 ...

  9. stl源码剖析 详细学习笔记 RB_tree (1)

    // //  RB_tree_STL.cpp //  笔记 // //  Created by fam on 15/3/21. // // #include "RB_tree_STL.h&q ...

随机推荐

  1. leveldb源码分析--SSTable之逻辑结构

    SSTable是leveldb 的核心模块,这也是其称为leveldb的原因,leveldb正是通过将数据分为不同level的数据分为对应的不同的数据文件存储到磁盘之中的.为了理解其机制,我们首先看看 ...

  2. 如何把高版本的sqlserver 还原到低版本的 sqlserver(转载)

    本例为sql2012 还原到sql2008. 要实现的功能是把sql2012的数据库备份到sql2008,数据库名字为Test,并且这两个数据库在不同的电脑中. 微软的软件设计方案基本上都是新版本兼容 ...

  3. windows服务器安装telnet的方法指引

    摘要: 1.telnet是一种网络排查的工具 2.当发现一台服务器异常的时候,通常有两个cmd命名做排查 3.ping 服务器ip,看网络是否联通 4.telnet 服务器ip 端口 看该服务器指定端 ...

  4. Jenkins 角色 项目权限管理

    插件名称: Role-based Authorization Strategy 新建 两用户 配置项目安全策略  在系统管理页面点击Manage and Assign Roles进入角色管理页面: 进 ...

  5. word文档重新打开后文档结构错乱

    word文档重新打开后文档结构错乱,然后通过如下方法解决了. OFFICE2007及以上.        在打开word的时候左下角会有提示word自动更新文档样式,按esc键取消,然后在大纲模式下任 ...

  6. UI中新增一个右击按钮的过程

    1.首先给出增加之后的成品 点击后的界面 3.需要增加的部分 新增一个类:DiglogAddUser  用于操作用户填写的数据,写入数据库等操作 3.1首先在资源文件中定义窗口代号 3.2 枚举出该代 ...

  7. DevExpress10、RichEditControl

    1.概述 传统.NET界面也有一个RichTextBox控件,一个富文本控件,可存储图片文字,有自己的文件格式RTF. 在DevExpress控件组里面也有一个同等的控件,RichEditContro ...

  8. 《面向对象程序设计》六 GUI

    git传送门 我这无药可救的拖延症和懒癌orz 主界面 文件读取界面 提示界面 最初选择vs+mfc,发现许多自动生成的代码读不懂(不须懂),尝试qt后感觉人生迎来了希望,看了推荐的视频与教程稍微了解 ...

  9. volatile和synchronized的区别与联系[转]

    volatile是一个变量修饰符,而synchronized是一个方法或块的修饰符.所以我们使用这两种关键字来指定三种简单的存取变量的方式. int i1;                       ...

  10. MySql详解(四)

    MySql详解(四) MySql的DML操作 插入: 一.方式一 语法: insert into 表名(字段名,...) values(值,...); 特点: 1.要求值的类型和字段的类型要一致或兼容 ...