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>

    */


你可能感兴趣的:(C++,算法,笔记,STL,STL源码剖析)