【C++】#include <algorithm> 的几个常用函数

深碍√TFBOYSˉ_ 2022-02-28 14:44 388阅读 0赞

STL(Standard Template Library,标准模板库),在C++标准中,STL被组织为下面的13个头文件:

algorithm意为算法,该头文件为我们提供了多种便利的算法函数,下面列出几种使用比较频繁的。

——比较——

返回两值中的较小值:min()

返回两值中的较大值:max()

*头文件中定义了min,max的宏。

201903261101001.png

返回序列中最小值的位置:min_element()

返回序列中最大值的位置:max_element()

*函数的参数与返回值都为指针变量;且注意第二个参数要比判断序列中的最后一个数后一位。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 1

——交换——

交换两个数值:swap()

20190326111130244.png

交换两个范围的数值:swap_ranges()

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 2

——排序——

排序一段范围的数值:sort()

*参数为指针变量,第一个参数指向范围开端,第二个参数指向范围末端后一位。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 3

——复制——

复制一段范围的数值:copy()

*参数的意义同swap_ranges()。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 4

倒序粘贴一段范围的数值:copy_backward()

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 5

——计数——

统计某序列中某数值的出现次数:count()

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 6

——查找——

找出某数值在序列中出现的第一个位置:find()

*参数意义类比count()。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 7

找出某子序列在父序列中出现的第一个位置:search()

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 8

——归并——

将两个有序序列归并为一个:merge()

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 9

——随机——

随机移动某序列中的元素:random_shuffle()

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 10

——比较——

判断两个序列是否相等:equal()

*相等返回“true”。

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0hhMWZfQXdha2U_size_16_color_FFFFFF_t_70 11

发表评论

表情:
评论列表 (有 0 条评论,388人围观)

还没有评论,来说两句吧...

相关阅读