第二部分——第十一章/泛型算法

#include<algorithm>

“泛型”:可操作在多种容器上

1) find()      依赖迭代器和迭代器操作实现,本身不执行容器操作

2) accumulate()    三参数,头两个元素是累加的元素范围,第三个参数是累加的初值

3)  find_first_of()    四参数,在第一段范围内查找与第二段范围中任意元素匹配的元素,返回一个迭代器

4) fill()    三参数,头两个元素是元素范围,第三个参数是值

5) fill_n()   三个参数,一个迭代器/一个计数器/一个值

         不能给在空容器上调用此函数,除非第一个参数为插入迭代器

6) copy()

7) replace()    四参数,两迭代器,初始值及目标值,——替换序列中的值

        replace_copy()                                                             ——创建新的副本

8) sort()    两参数,两迭代器,排序,使用(<)操作符

9) unique()        两参数,两迭代器,删除相邻的重复元素

                               并没有真的删除,而是将无重复元素复制到序列的前端

10)count_if()     三参数,两迭代器,一谓词函数,用于统计满足函数条件的个数

 

三种迭代器

1) 插入迭代器  与容器绑定在一起,实现在容器中插入元素

        back_inserter     front_inserter       inserter(需指定插入起始位置)

2) iostream迭代器  用于迭代遍历所关联的IO流

3) 反向迭代器   实现向后遍历,++运算将访问前一个元素,--运算将访问后一个元素

 

 

迭代器的分类

1) 输入迭代器          读,不能写;只支持自增运算     istream_iterator

2) 输出迭代器          写,不能读;只支持自增运算    ostream_iterator

3) 前向迭代器          读和写;只支持自增运算          需要前向迭代器的泛型算法有replace

4) 双向迭代器          读和写;支持自增和自减运算,泛型算法包括reverse; map、set和list提供双向

5) 随机访问迭代器  读和写;支持完整的迭代器算术运算,string、vector和deque容器定义的迭代器都是随机访问迭代器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值