C++ primer笔记----泛型算法

本文详细介绍了C++中的泛型算法,重点讨论了algorithm和numeric头文件中的算法,包括求和、拷贝、排序、消除重复等操作。讲解了如何使用accumulate、fill、copy、replace、sort、unique等函数,并提到了lambda表达式的应用,以及不同类型的迭代器在泛型算法中的角色。此外,还探讨了不同容器和算法的配合,强调了在实际编程中灵活运用泛型算法的重要性。
摘要由CSDN通过智能技术生成

1、泛型算法:算法是因为其实现了一些经典算法的公共接口,如排序和搜索。泛型是因为他们可以作用于不同类型的元素和多种容器类型甚至是内置数组。故称泛型算法

2、基本上都定义在algorithm和numeric两个头文件中,这些算法遍历由两个迭代器指定的一个元素范围来进行操作,不对容器进行直接操作

3、所谓泛型算法就是作用于容器和元素上面的一些操作的合集,在实际情况中要善于使用

4、标准库基本上都是对一个范围内的容器进行操作,所以参数中总会有两个表示范围的迭代器

5、accumulate函数接受三个参数,前两个指出了需要求和的元素的范围,第三个参数是和的初值,第三个参数的类型决定了函数中使用哪个加法运算符以及返回值的类型

6、用一个单一迭代器表示第二个序列的算法都假定第二个序列和第一个序列等长,如果实际中不等长,程序会出现错误

7、fill()算法的使用必须保证容器本身有足够的大小

8、拷贝(copy)算法接受三个迭代器,前两个表示一个输入范围,第三个表示目的序列的起始位置,此算法将输入范围中的元素拷贝到目标序列中,传递给copy的目标序列至少要包含与输入序列一样多的元素

9、replace算法接受4个参数:前两个是迭代器,表示输入序列,后两个一个是要搜索的值,另一个是新值,它将所有等于第一个值的元素替换为第二个值

10、sort算法接受两个迭代器,表示要排序的元素范围

11、unique算法重排输入序列,将相邻的重复项“消除”(覆

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值