STL Function List

本文概述了C++标准库中用于查找、排序及内容修改的各种算法,包括find系列、search系列、replace系列等,并介绍了部分常用的排序算法如sort、stable_sort等。此外还涉及了用于集合运算、特殊目的的算法以及一些实用的辅助算法。

查找算法
adjacent_find:找出一个串中第一个不符合次序的地方

find,find_if:找出第一个符合条件的元素

find_first_of:在一个串中寻找第一个与另一个串中任意一个元素相等的元素

search_n:在一个串中寻找一个元素第n次出现的地方

count,count_if:一个串中符合条件的元素个数

mismatch:找出两个串第一个不相等的地方

equal:判断两个串的指定部分是否完全相等

lexicographical_compare,lexicographical_compare_3way:按词典顺序比较字符串

search:在一个串中寻找一个子串第一次出现的位置

find_end:寻找一个子串最后一次出现的地方

binary_search,lower_bound,upper_bound,equal_range:在已排序的串中进行二分法搜索

min,max:比较两个数,返回数值

min_element,max_element:寻找指定范围内的最值改变内容的算法
copy,copy_n:从指定位置开始复制数据

copy_backward:指定目标的结尾进行复制

swap:交换两个容器内容

iter_swap:交换两个指针指向内容

swap_range:交换指定范围内的内容

transform:把元素逐个进行一元或二元运算结果放在新的容器

fill,fill_n:往容器的一定范围内填入相同元素

generate,generate_n:往容器的一定范围内填入指定的无参函数(如rand)的返回值replace,replace_if,replace_copy,replace_copy_if:替换符合条件的元素

remove,remove_if,remove_copy,remove_copy_if:删除符合条件的元素

unique,unique_copy:除去相邻的相同元素

reverse,reverse_copy:反转指定范围的内容

rotate,rotate_copy:循环排列指定范围的内容

random_shuffle:随机重排指定范围的内容

next_permutation,prev_permutation:按下一种或上一种排列方式排列指定范围的内容(一共有N!种排列方式)random_sample,random_sample_n:对指定范围的内容进行随机抽样

partition,stable_partition:把指定范围内元素按指定区分法则分成两部分排序算法
sort:快速排序

stable_sort:稳定排序

partial_sort,partial_sort_copy:只排出最大(或最小)的前几位

nth_element:快速排序的一轮

merge,inplace_merge:归并排序的一轮

is_sorted:判断是否已排序

make_heap:生成堆

pop_heap:取出最大元素并重建堆

push_heap:往堆中添加最后一个元素并重建堆

sort_heap:堆排序

is_heap:判断是否是堆集合运算的算法(使用时应保证容器已排序)
includes:一个已排序集合是否含于另一个

set_union:取两个已排序集合的并集

set_inter:取两个已排序集合的交集

set_difference:一个已排序集合中不存在于另一个集合中的元素构成的集合

set_symmetric_difference:取两个已排序集合的异或特定算法
itoa:把从指定值递增1的数列填入数组

accumulate:累加求总和

inner_product:求两个向量的内积

partial_sum:逐限累加成新数组

adjacent_difference:逐限求差成新数组

power:对一个数累乘或累次执行一个操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值