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>

        */


  • 相关阅读:
    0523
    [算法]二分专题
    [转]聊聊列式存储
    [错误]Caused by: org.apache.spark.memory.SparkOutOfMemoryError: Unable to acquire 65536 bytes of memory, got 0
    [转]为什么group by后面不能使用别名(除MySQL)
    [算法]PriorityQueue的应用
    双指针算法
    [算法]实现strStr()
    实现用SQL查询连续发文天数/连续登录天数
    python 日志模块
  • 原文地址:https://www.cnblogs.com/boydfd/p/4983157.html
Copyright © 2011-2022 走看看