Geekband C++ 第七周
2016-09-05 本文已影响0人
billow06
概述
● 泛型算法:介绍了基本使用方式和算法的接口
○ 变易算法
○ 排序算法
○ 数值算法
● 内存分配器
变易算法
● 指改变容器中对象的操作
● 复制
○ copy
■ 将一个容器中的元素拷贝到另一个容器
■ 可以实现容器中对象的左移
○ copy_n
■ 拷贝n个元素至另一个容器
○ copy_backward
■ 将容器的元素拷贝至另一个容器的后端
■ 可以实现对象的右移
○ copy_if
■ 拷贝满足条件的元素至另一个容器
● swap
○ swap
■ 交换两个容器
○ swap_range
■ 用于进行两个迭代器区间元素的交换
■ 将迭代器区间[first1,last1)的元素,与迭代器区间[first2,first2+(last1-first1))迭代器区间元素交换其中*first1和*first2交换、*(first+1)和*(first2+1)交换、...*(last1-1)和*(first2+ last1-fitst1)-1)交换。
● transform
○ transform
■ 对容器中的每个元素进行变换
■ 对两个容器的中的元素进行变换,并将结果存放在目标容器中
● replace
○ replace
■ 替换容器中指定元素
○ replace_if
■ 替换容器中满足条件的元素
○ replace_copy
■ 将元素从一个容器拷贝到另一个容器,并替换指定元素
○ replace_copy_if
■ 将元素从一个容器拷贝到另一个容器,并替换满足条件的元素
● fill
○ 填充容器,可以用作初始化
● generate
○ 按一定规则(Fun),为容器生成元素
● remove
○ remove
■ 删除容器中的特定元素
○ remove_if
■ 删除满足条件的元素
○ remove_copy
■ 拷贝不等于val的元素至另一个容器
● unique
■ 对容器中的元素去重
● reverse
■ 反转容器中的元素
● random_shuffle
■ 随机打乱容器中的元素
● partition
■ 根据条件对容器中的元素进行划分
排序算法
● sort,partial_sort
○ 对容器中的元素排序或部分排序
○ 元素需要可以比较大小
● binar_search
○ 实现二分查找算法
○ 前提:已排好序
● merge
○ 将排好序的容器merge成一个排好序的容器
● 集合算法
○ include
■ 判断一个容器是否包含另一个容器
○ set operations
● 堆算法
○ make_heap
○ push_heap
○ pop_heap
○ sort_heap
数值型算法
● 定义在<numeric>头文件中
● accumulate
○ 默认实现累加
○ 用户可以定义函数实现累积运算
● inner_product
○ 默认实现内积操作
○ 可以自定义‘内积’操作
● partial_sum
● adjacent_difference
内存分配器
● 内存分配器的接口
clipboard.png● 接口说明
clipboard1.png