Home C&C++函数库 c++ 语法 程序源码 Linux C库

algorithm

library   <algorithm>
标准模板库:算法

头文件<algorithm>定义了一组专门设计用于元素范围的函数。

一个范围是任何可以通过迭代器或指针访问的对象序列,比如一个数组或一些STL容器的实例。 但是请注意,算法通过迭代器直接对值进行操作,不会以任何方式影响任何可能的容器的结构 (它不会影响容器的大小或存储分配)。

☞ <algorithm>的函数



序列算法:
all_of 测试范围内所有元素的情况 (函数模板)
any_of 测试范围内是否有满足条件的元素(函数模板)
none_of 测试是否没有元素满足条件(函数模板)
for_each 将函数应用于范围(函数模板)
find 在范围内查找值(函数模板)
find_if 在范围内查找元素(函数模板)
find_if_not 在范围内查找元素(负条件)(函数模板)
find_end 求范围内的最后一个子序列(函数模板)
find_first_of 按设置查找范围内的元素(函数模板)
adjacent_find 找出范围内相等的相邻元素(函数模板)
count 返回范围内某个元素的数量(函数模板)
count_if 返回满足条件的范围内元素个数(函数模板)
mismatch 返回两个范围不匹配元素的第一个位置(函数模板)
equal 测试两个范围内的元素是否相等(函数模板)
is_permutation 测试range是否为另一个range的置换(函数模板)
search 搜索范围的子序列(函数模板)
search_n 搜索范围的部分元素(函数模板)

修改操作:
copy 复制范围的元素 (函数模板)
copy_n 复制元素(函数模板)
copy_if 复制范围的某些元素(函数模板)
copy_backward 从末尾复制范围的元素(函数模板)
move 移动范围的元素(函数模板)
move_backward 从末尾移动范围的元素(函数模板)
swap 交换两个对象的值(函数模板)
swap_ranges 交换两个范围的值(函数模板)
iter_swap 交换两个迭代器指向的对象的值(函数模板)
transform 改变范围 (函数模板)
replace 替换范围内的值(函数模板)
replace_if 检测并替换范围内的值(函数模板)
replace_copy 复制范围并替换部分值(函数模板)
replace_copy_if 复制范围并替换部分元素(函数模板)
fill 用值填充范围(函数模板)
fill_n 用值填充序列(函数模板)
generate 用函数生成范围的值(函数模板)
generate_n 用函数为序列生成值(函数模板)
remove 覆盖范围中的值(函数模板)
remove_if 检查并覆盖范围中的值(函数模板)
remove_copy 复制范围内部分值(函数模板)
remove_copy_if 复制范围内部分值(函数模板)
unique 删除范围内连续的重复项(函数模板)
unique_copy 复制不重复元素(函数模板)
reverse 反转元素(函数模板)
reverse_copy 复制并反转元素(函数模板)
rotate 旋转范围内的元素(函数模板)
rotate_copy 旋转并复制元素(函数模板)
random_shuffle 随机重新排列范围内的元素(函数模板)
shuffle 使用生成器随机重新排列范围内的元素(函数模板)
分区:
is_partitioned 测试是否对范围进行了分区 (函数模板)
partition 对范围分区 (函数模板)
stable_partition 对范围稳定有序分区(函数模板)
partition_copy 对范围复制分区(函数模板)
partition_point 获取分区点(函数模板)
排序:
sort 对范围内的元素进行排序(函数模板)
stable_sort 对范围内的元素进行等价元素不变的排序(函数模板)
partial_sort 对范围内的元素进行部分排序(函数模板)
partial_sort_copy 对范围内的元素进行部分排序并复制(函数模板)
is_sorted 检查范围是否排序(函数模板)
is_sorted_until 找到范围内第一个未排序的元素(函数模板)
nth_element 以某个元素为基准对范围内的元素进行排序(函数模板)
二分查找(操作分区/排序范围):
lower_bound 返回迭代器下界(函数模板)
upper_bound 返回迭代器上界(函数模板)
equal_range 获取相等元素的子范围的边界(函数模板)
binary_search 测试value是否存在于排序序列中(函数模板)
合并(对已排序的范围进行操作)::
merge 合并已排序的范围(函数模板)
inplace_merge 合并已连续排序的范围(函数模板)
includes 测试已排序范围是否包含另一个已排序范围(函数模板)
set_union 两个已排序范围的并集(函数模板)
set_intersection 两个排序范围的交集(函数模板)
set_difference 两个排序范围的差值(函数模板)
set_symmetric_difference 两个排序范围的对称差异(函数模板)
堆:
push_heap 将元素插入堆范围(函数模板)
pop_heap 从堆范围中弹出元素(函数模板)
make_heap 从范围构建堆(函数模板)
sort_heap 对堆元素进行排序(函数模板)
is_heap 测试range是否为heap(函数模板)
is_heap_until 找到第一个不是堆顺序的元素(函数模板)
最小/最大:
min 返回最小的(函数模板)
max 返回最大的(函数模板)
minmax 返回最小和最大的元素(函数模板)
min_element 返回范围内最小的元素(函数模板)
max_element 返回范围内最大的元素(函数模板)
minmax_element 返回范围内最小和最大的元素(函数模板)
其它:
lexicographical_compare 字典序小于比较(函数模板)
next_permutation 转换范围到下一个排列(函数模板)
prev_permutation 将范围转换为以前的排列(函数模板)

联系我们 免责声明 关于CandCplus 网站地图