美文网首页
【GeekBand】stl第三周

【GeekBand】stl第三周

作者: 05a6cfdfab37 | 来源:发表于2016-07-04 10:11 被阅读0次

    1.泛型算法之交易算法

    交易算法是指改变容器中对象的操作,具体包括:

    copy                          remove
    swap                         unique
    transform                  reserve
    replace                      rotate
    fill                             random_shuffle
    generate                    partition
    

    copy: 复制序列
    copy_backward: 与copy相同,不过元素是以相反顺序被拷贝。
    iter_swap: 交换两个ForwardIterator的值。
    remove: 删除指定范围内所有等于指定元素的元素。注意,该函数不是真正删除函数。内置函数不适合使用remove和remove_if函数。
    remove_copy: 将所有不匹配元素复制到一个制定容器,返回OutputIterator指向被拷贝的末元素的下一个位置。
    remove_if: 删除指定范围内输入操作结果为true的所有元素。
    remove_copy_if: 将所有不匹配元素拷贝到一个指定容器。
    replace: 将指定范围内所有等于vold的元素都用vnew代替。
    replace_copy: 与replace类似,不过将结果写入另一个容器。
    replace_if: 将指定范围内所有操作结果为true的元素用新值代替。
    replace_copy_if: 与replace_if,不过将结果写入另一个容器。
    swap: 交换存储在两个对象中的值。
    swap_range: 将指定范围内的元素与另一个序列元素值进行交换。
    unique: 清除序列中重复元素,和remove类似,它也不能真正删除元素。重载版本使用自定义比较操作。
    unique_copy: 与unique类似,不过把结果输出到另一个容器。

    2.排序和通用算法:提供元素排序策略

    inplace_merge:            合并两个有序序列,结果序列覆盖两端范围。重载版本使用输入的操作进行排序。
    merge:                    合并两个有序序列,存放到另一个序列。重载版本使用自定义的比较。
    nth_element:              将范围内的序列重新排序,使所有小于第n个元素的元素都出现在它前面,而大于它的都出现在后面。重载版本使用自定义的比较操作。
    partial_sort:             对序列做部分排序,被排序元素个数正好可以被放到范围内。重载版本使用自定义的比较操作。
    partial_sort_copy:        与partial_sort类似,不过将经过排序的序列复制到另一个容器。
    partition:                对指定范围内元素重新排序,使用输入的函数,把结果为true的元素放在结果为false的元素之前。
    random_shuffle:           对指定范围内的元素随机调整次序。重载版本输入一个随机数产生操作。
    reverse:                  将指定范围内元素重新反序排序。
    reverse_copy:             与reverse类似,不过将结果写入另一个容器。
    rotate:                   将指定范围内元素移到容器末尾,由middle指向的元素成为容器第一个元素。
    rotate_copy:              与rotate类似,不过将结果写入另一个容器。
    sort:                     以升序重新排列指定范围内的元素。重载版本使用自定义的比较操作。
    stable_sort:              与sort类似,不过保留相等元素之间的顺序关系。
    stable_partition:         与partition类似,不过不保证保留容器中的相对顺序。
    

    3.数值算法

    accumulate:               iterator对标识的序列段元素之和,加到一个由val指定的初始值上。重载版本不再做加法,而是传进来的二元操作符被应用到元素上。
    partial_sum:              创建一个新序列,其中每个元素值代表指定范围内该位置前所有元素之和。重载版本使用自定义操作代替加法。
    inner_product:            对两个序列做内积(对应元素相乘,再求和)并将内积加到一个输入的初始值上。重载版本使用用户定义的操作。
    adjacent_difference:      创建一个新序列,新序列中每个新值代表当前元素与上一个元素的差。重载版本用指定二元操作计算相邻元素的差。
    

    4.内存分配器

    相关文章

      网友评论

          本文标题:【GeekBand】stl第三周

          本文链接:https://www.haomeiwen.com/subject/namcjttx.html