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

/*

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. 安装 Scala

    0. 说明 Scala 安装(Windows)  &  Scala 安装(Linux) 1. Scala 安装(Windows) 1.0 下载 Scala  下载地址 1.1 运行 Scala ...

  2. python ddt模块

    ddt模块包含了一个类的装饰器ddt和两个方法的装饰器: data:包含多个你想要传给测试用例的参数: file_data:会从json或yaml中加载数据: 通常data中包含的每一个值都会作为一个 ...

  3. linux 下获取文件最后几行

    在Linux下,获取文件倒数几行的命令是: tail -n 10 your_filename     #获取倒数10行

  4. [luogu T71973]卡常者π酱

    [luogu T71973]卡常者π酱 题意 给定一个长度为 \(n\) 的字符串, 要求将字符串分割为若干段, 每一段要么是一个字符要么是前面几段的并的子串. 如果某一段是一个单独字符, 则产生 \ ...

  5. XtraEditors七、ProgressBarControl、MarqueeProgressBarControl、ProgressPanel控件

    一.ProgressBarControl 进度条控件 效果如下: 示例代码: using System; using System.Collections.Generic; using System. ...

  6. 【Android自动化】测试系统的应用程序安装与卸载性能,判断长时间反复安装对系统的整体性能影响

    # -*- coding:utf-8 -*- import sys import os import time import subprocess from uiautomator import de ...

  7. jQuery事件整合

    一.jQuery事件 1.focus()元素获得焦点 2.blur()元素失去焦点 3.change() 表单元素的值发生变化(可用于验证用户名是否存在) 4.click() 鼠标单击 5.dbcli ...

  8. 【jquery】 在异步加载的元素上绑定事件

    最近因为工作关系又重新回归到了jquery的怀抱,发现很多jquery的一些细节处理的部分都忘记了.这里记录一下最近在做项目时频繁遇到的一个问题:给异步加载的元素添加事件绑定. 问题发生的前提是项目前 ...

  9. xpath获取带注释的text

    from lxml import etree html_str = """<div id="box1">this from blog.cs ...

  10. 【转】1.2 CDN的基本工作过程

    1.2  CDN的基本工作过程 使用CDN会极大地简化网站的系统维护工作量,网站维护人员只需将网站内容注入CDN的系统,通过CDN部署在各个物理位置的服务器进行全网分发,就可以实现跨运营商.跨地域的用 ...