美文网首页
【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与泛型编程 Second Week

    GeekBand STL与泛型编程 Second Week STL 整体结构 STL 主要是有六大主要的部件构成。...

  • GeekBand STL 第三周

    1. STL概述 STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非...

  • 【GeekBand】stl第三周

    1.泛型算法之交易算法 交易算法是指改变容器中对象的操作,具体包括: copy: ...

  • GeekBand STL与泛型编程 Third Week

    GeekBand STL与泛型编程 Third Week 变易算法 变易算法是指那些改变容器中对象的操作。具体包括...

  • STL(二)(GeekBand)

    还没看完。

  • GeekBand STL与泛型编程 First Week

    GeekBand STL与泛型编程 First Week 泛型编程 模版介绍 模版是C++的一种特性,允许函数或类...

  • STL1--GeekBand

    顺序容器,它将单一类型元素聚集起来成为容器,然后根据位置来存储和访问这些元素,这就是顺序容器。标准库里定义了三种类...

  • 【GeekBand】stl首周

    1.C++模板简介 1.模板概观 模板是c++的一种特性,允许函数或类(对象)通过泛型的形式表现或运行 c++通常...

  • BOOLAN GEEKBAND STL 第三周笔记

    1. STL概述 STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非...

  • GeekBand STL与泛型编程 第三周

    9.泛型算法_变易算法 变易算法是指那些改变容器中对象的操作。 copy 将对象从[_First, _Last)拷...

网友评论

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

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