算法概述

² 算法部分主要由头文件<algorithm>,<numeric>和<functional>组成。

² <algorithm>是所有STL头文件中最大的一个,其中常用到的功能范围涉及到比较、交换、查找、遍历操作、复制、修改、反转、排序、合并等等。

² <numeric>体积很小,只包括几个在序列上面进行简单数学运算的模板函数,包括加法和乘法在序列上的一些操作。

² <functional>中则定义了一些模板类,用以声明函数对象。

² STL提供了大量实现算法的模版函数,只要我们熟悉了STL之后,许多代码可以被大大的化简,只需要通过调用一两个算法模板,就可以完成所需要的功能,从而大大地提升效率。

² #include <algorithm>

² #include <numeric>

² #include <functional>

 STL中算法分类

· 操作对象

o 直接改变容器的内容

将原容器的内容复制一份,修改其副本,然后传回该副本

· 功能:

非可变序列算法 指不直接修改其所操作的容器内容的算法

§ 计数算法  count、count_if

§ 搜索算法  search、find、find_if、find_first_of、…

§ 比较算法  equal、mismatch、lexicographical_compare

可变序列算法 指可以修改它们所操作的容器内容的算法

§ 删除算法  remove、remove_if、remove_copy、…

§ 修改算法  for_each、transform

§ 排序算法  sort、stable_sort、partial_sort、

排序算法 包括对序列进行排序和合并的算法、搜索算法以及有序序列上的集合操作

数值算法 对容器内容进行数值计算

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值