STL教程之 (4)算法总结

本文深入解析了STL算法,涵盖其基本概念、自定义操作、算法分类及各类算法的功能,如排序、查找、数值计算等,是理解STL算法结构与应用的全面指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

STL算法概述:

以有限的步骤,解决逻辑上的或数学上的问题,称为算法。为了提高算法的灵活性和功效,STL的算法允许使用者自定义一些操作(函数),提供给算法调用,这些函数可以是一般函数,也可以是仿函数。所谓仿函数其实就是struct或类里的“()”重载函数。STL算法部分主要由头文件,,组成。要使用 STL中的算法函数必须包含头文件,对于数值算法须包含,中则定义了一些模板类,用来声明函数对象
注意:
编译器无法检测出所传递的迭代器是一个无效形式的迭代器,当然也无法给出算法函数错误的提示,因为迭代器并不是真实的类别,它只是传递给函数模板的一种参数格式而已

STL中算法分类:
非可变序列算法----指不直接修改其所操作的容器内容的算法
可变序列算法----指可以修改它们所操作的容器内容的算法
排序算法----包括对序列进行排序和合并的算法、搜索算法以及有序序列上的集合操作
数值算法----对容器内容进行数值计算

查找算法(13个):判断容器中是否包含某个值
在这里插入图片描述

堆算法(4个)
在这里插入图片描述

关系算法(8个)
在这里插入图片描述

集合算法(4个)
在这里插入图片描述

排列组合算法(2个)提供计算给定集合按一定顺序的所有可能排列组合
在这里插入图片描述

排序和通用算法(14个):提供元素排序策略
在这里插入图片描述

删除和替换算法(15个)
在这里插入图片描述

生成和变异算法(6个)
在这里插入图片描述

算数算法(4个)
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chiang木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值