【Geekband】Week 8 Notes.md

1. STL常见非变异算法

【Geekband】Week 8 Notes.md_第1张图片

2. STL常见变异算法

2.1 Copy - 对数据的各类拷贝

【Geekband】Week 8 Notes.md_第2张图片

2.2 Swap - 对数据内容的交换

【Geekband】Week 8 Notes.md_第3张图片

2.3 Transform - 对两组数据之间进行运算

【Geekband】Week 8 Notes.md_第4张图片

2.4 Replace - 两组数据之间的内容进行替换

【Geekband】Week 8 Notes.md_第5张图片

2.5 Fill和Generate - 初始化时进行填充

【Geekband】Week 8 Notes.md_第6张图片

2.6 Remove - 根据判别条件去掉某些数据

2.7 排序算法

2.7.1 sort

  • 特殊数据需要重新定义运算符operator<

2.7.2 partial_sort

  • 对部分数据排序

2.7.3 binary_search

  • 先sort,再使二叉树搜索

2.7.4 merge

  • 先sort,再将两组数据merge

2.7.5 include

  • 先sort,再查找两组数据中元素包含的情况(重复数据的次数也考虑在内)

2.7.6

2.8 基于heap的算法

2.8.1 make_heap

  • 构造一个二叉树,父节点>子节点

2.8.2 push_heap

  • 添加一个新的节点,并根据需要重构二叉树

2.8.3 pop_heap

  • 剔除特定节点,并根据需要重构二叉树。

2.8.4 sort_heap

  • 从小到大得到二叉树中的节点数值

2.9 泛型数值算法

include 

2.9.1 accumulate

2.9.2 inner_product

2.9.3 paritial_sum

2.9.4 adjacent_difference

3. Traits的使用

By convention, traits are always implemented as structs. Another convention is that the structs used to implement traits are knows as trait classes.

你可能感兴趣的:(【Geekband】Week 8 Notes.md)