zoukankan      html  css  js  c++  java
  • 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>

        */


  • 相关阅读:
    flume sink两种类型 file_rool 自定义sing com.mycomm.MySink even if there is only one event, the event has to be sent in an array
    为什么引入进程20年后,又引入线程?
    As of Flume 1.4.0, Avro is the default RPC protocol.
    Google Protocol Buffer 的使用和原理
    Log4j 2
    统一日志 统一订单
    网站行为跟踪 Website Activity Tracking Log Aggregation 日志聚合 In comparison to log-centric systems like Scribe or Flume
    Percolator
    友盟吴磊:移动大数据平台的架构、实践与数据增值
    Twitter的RPC框架Finagle简介
  • 原文地址:https://www.cnblogs.com/boydfd/p/4983157.html
Copyright © 2011-2022 走看看