美文网首页
Geekband C++ 第七周

Geekband C++ 第七周

作者: billow06 | 来源:发表于2016-09-05 13:18 被阅读0次

    概述

    ● 泛型算法:介绍了基本使用方式和算法的接口
      ○ 变易算法
      ○ 排序算法
      ○ 数值算法
    ● 内存分配器
    

    变易算法

    ● 指改变容器中对象的操作
    ● 复制
      ○ 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

    相关文章

      网友评论

          本文标题:Geekband C++ 第七周

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