
c++ STL algorithm算法库
c++ STL标准算法库使用示例
小魔王降临
人生需要不断进取和学习,生活需要时刻拼搏!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ STL算法find_if_not(03)
函数原型template<class _InIt, class _Pr>_NODISCARD inline _InIt find_if_not(_InIt _First, const _InIt _Last, _Pr _Pred) find_if() 函数用于查找符合谓词函数规则的第一个元素,find_if_not() 函数则用于查找第一个不符合谓词函数规则的元素。参数first 和 last 都为输入迭代器,[first, last) 用于指定查找范围;...原创 2021-12-06 14:34:01 · 778 阅读 · 0 评论 -
C++ STL算法(43)
accumulate函数原型 template<class _InIt, class _Ty>_NODISCARD inline _Ty accumulate(const _InIt _First, const _InIt _Last, _Ty _Val)求和参数first last 输入容器 val 求和相加值不带谓词#include <iostream>#include <numeric>int main(){ std原创 2022-01-18 10:07:00 · 719 阅读 · 0 评论 -
C++ STL算法max/min(42)
min/maxtemplate<class _Ty> _Post_equal_to_(_Right < _Left ? _Right : _Left)_NODISCARD constexpr const _Ty& (min)(const _Ty& _Left, const _Ty& _Right)template<class _Ty>_NODISCARD constexpr _Ty (min)(initializer_list<_T原创 2022-01-17 14:36:57 · 848 阅读 · 0 评论 -
C++ STL 算法set(41)
set函数set_intersection(取集合交集) set_union(取集合并集) set_difference(取集合差集) set_symmetric_difference(取集合对称差集)set_intersection函数原型template<class _InIt1, class _InIt2, class _OutIt> inline_OutIt set_intersection(_InIt1 _First1, _InIt1 _Last1, _In原创 2022-01-17 11:23:46 · 479 阅读 · 0 评论 -
C++ STL算法includes(40)
函数原型//不带谓词template<class _InIt1, class _InIt2>_NODISCARD inline bool includes(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _InIt2 _Last2)//带谓词template<class _InIt1, class _InIt2, class _Pr>_NODISCARD inline bool includes(_InIt1 _Firs原创 2022-01-14 14:51:01 · 334 阅读 · 0 评论 -
C++ STL算法unique/unique_copy(39)
unique函数原型template<class _FwdIt>_NODISCARD inline _FwdIt unique(_FwdIt _First, _FwdIt _Last)template<class _FwdIt, class _Pr>_NODISCARD inline _FwdIt unique(_FwdIt _First, _FwdIt _Last, _Pr _Pred) unique函数属于STL中比较常用函数,它的功能是元素去重。即”原创 2022-01-13 15:24:29 · 238 阅读 · 0 评论 -
C++ STL算法is_permutation(38)
is_permutation函数原型template<class _FwdIt1, class _FwdIt2> inlinebool is_permutation(_FwdIt1 _First1, _FwdIt1 _Last1, _FwdIt2 _First2)template<class _FwdIt1, class _FwdIt2, class _Pr>_NODISCARD inline bool is_permutation(_FwdIt1 _First1,原创 2022-01-14 09:35:32 · 365 阅读 · 0 评论 -
C++ STL算法 remove/remove_if(37)
remove函数原型//不带谓词template<class _FwdIt, class _Ty>_NODISCARD inline _FwdIt remove(_FwdIt _First, const _FwdIt _Last, const _Ty& _Val)//带谓词template<class _FwdIt, class _Pr>_NODISCARD inline _FwdIt remove_if(_FwdIt _First, const _Fw原创 2022-01-13 10:29:56 · 637 阅读 · 0 评论 -
C++ STL算法nth_element(36)
函数原型template<class _RanIt> inlinevoid nth_element(_RanIt _First, _RanIt _Nth, _RanIt _Last)template<class _RanIt, class _Pr> inlinevoid nth_element(_RanIt _First, _RanIt _Nth, _RanIt _Last, _Pr _Pred)nth_element仅排序第n个元素(从0开始索引),即将位置n原创 2022-01-12 14:27:47 · 280 阅读 · 0 评论 -
C++ STL算法partial_sort(35)
函数原型//按照默认的升序排序规则,对 [first, last) 范围的数据进行筛选并排序template<class _RanIt> inlinevoid partial_sort(_RanIt _First, _RanIt _Mid, _RanIt _Last)//按照pred规则对 [first, last) 范围的数据进行筛选并排序template<class _RanIt, class _Pr> inlinevoid partial_sort(_RanI原创 2022-01-12 10:28:20 · 308 阅读 · 0 评论 -
C++ STL算法is_sorted/is_sorted_until(34)
、is_sorted函数原型//判断 [first, last) 区域内的数据是否符合 std::less<T> 排序规则,即是否升序序列template<class _FwdIt>_NODISCARD inline bool is_sorted(_FwdIt _First, _FwdIt _Last)//判断 [first, last) 区域内的数据是否符合 _Pred 排序规则 template<class _FwdIt, class _Pr>..原创 2022-01-11 15:42:51 · 462 阅读 · 0 评论 -
C++ STL算法sort/stable_sort(33)
sort函数原型template<class _RanIt> inlinevoid sort(const _RanIt _First, const _RanIt _Last)template<class _RanIt, class _Pr> inlinevoid sort(const _RanIt _First, const _RanIt _Last, _Pr _Pred)对容器或普通数组中指定范围内的元素进行排序,排序规则默认以元素值的大小做升序排序,除此之外原创 2022-01-11 11:44:22 · 337 阅读 · 0 评论 -
C++ STL算法partition_point(32)
函数原型template<class _FwdIt, class _Pr>_NODISCARD inline _FwdIt partition_point(_FwdIt _First, _FwdIt _Last, _Pr _Pred)根据某个筛选规则对指定范围内的数据进行分组(即符合条件的为一组,不符合条件的为另一组),并返回两组数据之间的分界位置。参数fisrt last 输入容器 pred 可以是函数指针或函数对象或lambda表达式函数#incl..原创 2022-01-07 11:12:13 · 833 阅读 · 0 评论 -
C++ STL算法partition/stable_partition(31)
partition函数原型template<class _FwdIt, class _Pr>_NODISCARD inline _FwdIt partition(_FwdIt _First, _FwdIt _Last, _Pr _Pred)partition可直译为“分组”,partition函数可根据用户自定义的筛选规则,重新排列指定区域内存储的数据,使其分为 2 组,第一组为符合筛选条件的数据,另一组为不符合筛选条件的数据。如数组a[9]:1 2 3 4 5 6 7 .原创 2022-01-06 09:21:51 · 690 阅读 · 0 评论 -
C++ STL算法partition_copy(30)
函数原型template<class _InIt, class _OutIt1, class _OutIt2,class _Pr> inline pair<_OutIt1, _OutIt2> partition_copy(_InIt _First, _InIt _Last, _OutIt1 _Dest_true, _OutIt2 _Dest_false, _Pr _Pred)从范围[first, last)复制元素到二个不同范围,取决于谓词p的返回值。复制...原创 2022-01-05 17:51:16 · 350 阅读 · 0 评论 -
C++ STL算法 is_partitioned(29)
函数原型template<class _InIt, class _Pr>_NODISCARD inline bool is_partitioned(_InIt _First, _InIt _Last, _Pr _Pred)测试范围内的元素是否是以pred为准则的一个划分。如果是,则返回true,否则返回false。例如:T T T T F F F F或T T T或F F F或F F F T都算是一个划分。但T F T或者F T F 就不是一个划分了。即满足pred的元素是否都原创 2022-01-04 17:51:38 · 408 阅读 · 0 评论 -
C++ STL算法copy_backward/move_backward/inplace_merge(28)
copy_backward函数原型template<class _BidIt1, class _BidIt2> inline_BidIt2 copy_backward(_BidIt1 _First, _BidIt1 _Last, _BidIt2 _Dest)像 copy() 那样复制元素,但是从最后一个元素开始直到第一个元素。参数first last 容器首、尾迭代器dest 目标容器迭代器#include <iostream>#include &原创 2021-12-24 10:01:43 · 443 阅读 · 0 评论 -
C++ STL算法iter_swap/swap_ranges(27)
iter_swap函数原型template<class _FwdIt1, class _FwdIt2> inlinevoid iter_swap(_FwdIt1 _Left, _FwdIt2 _Right)通过迭代器来完成元素的交换。参数_Left,_Right指向要交换的两个迭代器#include <iostream>#include <algorithm>#include <functional>#include &l.原创 2021-12-23 14:11:02 · 610 阅读 · 0 评论 -
C++ STL算法merge(26)
函数原型//不带谓词template<class _InIt1, class _InIt2, class _OutIt> inline_OutIt merge(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest)//带谓词template<class _InIt1, class _InIt2, class _OutIt, class _Pr> inline_Out原创 2021-12-23 09:29:34 · 580 阅读 · 0 评论 -
C++ STL 算法replace/replace_if/replace_copy/replace_copy_if(25)
函数原型template<class _FwdIt, class _Ty> inlinevoid replace(const _FwdIt _First, const _FwdIt _Last, const _Ty& _Oldval, const _Ty& _Newval)参数first last 需要替换容器的起始和结束迭代器oldval 要被替换的值newval 替换值replace#include <iostream>#in.原创 2021-12-22 14:37:31 · 658 阅读 · 0 评论 -
C++ STL算法transfrom(24)
函数原型//版本一template<class _InIt, class _OutIt, class _Fn> inline_OutIt transform(const _InIt _First, const _InIt _Last, _OutIt _Dest, _Fn _Func)//版本二template<class _InIt1, class _InIt2, class _OutIt, class _Fn> inline_OutIt transform(con原创 2021-12-22 10:50:04 · 468 阅读 · 0 评论 -
C++STL算法move(23)
函数原型template<class _InIt, class _OutIt> inline_OutIt move(_InIt _First, _InIt _Last, _OutIt _Dest)将[_First,_Last)区间内的元素全部搬移到以_Dest为起点的目标区间参数first 和 last 都为正向输出迭代器,[first, last) 用于指定该函数的查找范围;dest 输入迭代器#include <iostream>#include原创 2021-12-17 13:50:01 · 456 阅读 · 0 评论 -
C++ STL 算法copy/copy_if/copy_n(22)
函数原型template<class _InIt, class _OutIt> inline_OutIt copy(_InIt _First, _InIt _Last, _OutIt _Dest)两个容器之间复制元素参数first 和 last 都为正向迭代器,[first, last) 用于指定该函数的查找范围;dest 目标容器;copy#include <iostream>#include <algorithm>#inclu..原创 2021-12-17 09:36:12 · 933 阅读 · 0 评论 -
C++STL算法generate/generate_n(21)
generatetemplate<class _FwdIt,class _Fn> inlinevoid generate(_FwdIt _First, _FwdIt _Last, _Fn _Func)将函数对象生成的元素赋值给容器。参数first 和 last 都为正向迭代器,[first, last) 用于赋值的范围;func自定义规则,lambda函数或者函数,或者函数对象。#include <iostream>#include <algo原创 2021-12-16 14:21:46 · 840 阅读 · 0 评论 -
C++STL容器元素算法fill/fill_n(20)
函数原型template<class _FwdIt, class _Ty> inlinevoid fill(_FwdIt _First, _FwdIt _Last, const _Ty& _Val)对一个容器的值进行填充时参数first 和 last 都为正向迭代器,[first, last) 用于指定该函数的查找范围;val 给定值;fill容器#include <iostream>#include <algorithm>.原创 2021-12-16 09:53:49 · 475 阅读 · 0 评论 -
C++STL算法binary_search(19)
函数原型//不带谓词template<class _FwdIt, class _Ty>_NODISCARD inline pair<_FwdIt, _FwdIt> equal_range(_FwdIt _First, _FwdIt _Last, const _Ty& _Val)//带谓词template<class _FwdIt, class _Ty, class _Pr>_NODISCARD inline bool binary_search(原创 2021-12-15 14:04:01 · 495 阅读 · 0 评论 -
C++STL算法equal_range(18)
函数原型//不带谓词template<class _FwdIt, class _Ty>_NODISCARD inline pair<_FwdIt, _FwdIt> equal_range(_FwdIt _First, _FwdIt _Last, const _Ty& _Val)//带谓词template<class _FwdIt, class _Ty, class _Pr>_NODISCARD inline pair<_FwdIt, _Fw原创 2021-12-15 10:28:25 · 404 阅读 · 0 评论 -
C++ STL算法upper_bound(17)
函数原型//不带谓词template<class _FwdIt, class _Ty>_NODISCARD inline _FwdIt upper_bound(_FwdIt _First, _FwdIt _Last, const _Ty& _Val)//带谓词template<class _FwdIt, class _Ty, class _Pr>_NODISCARD inline _FwdIt upper_bound(_FwdIt _First, _FwdI原创 2021-12-14 17:59:55 · 288 阅读 · 0 评论 -
C++ STL算法lower_bound(16)
函数原型//不带谓词template<class _FwdIt, class _Ty>_NODISCARD inline _FwdIt lower_bound(_FwdIt _First, _FwdIt _Last, const _Ty& _Val)//带谓词template<class _FwdIt, class _Ty, class _Pr>_NODISCARD inline _FwdIt upper_bound(_FwdIt _First, _FwdI原创 2021-12-13 11:16:13 · 434 阅读 · 0 评论 -
C++STL算法equal(15)
函数原型//不带谓词template<class _InIt1, class _InIt2>_NODISCARD inline bool equal(const _InIt1 _First1, const _InIt1 _Last1, const _InIt2 _First2)template<class _InIt1, class _InIt2>_NODISCARD inline bool equal(const _InIt1 _First1, const _InI原创 2021-12-11 14:36:43 · 924 阅读 · 0 评论 -
C++ STL算法mismatch(14)
函数原型//不带谓词template<class _InIt1,class _InIt2>_NODISCARD inline pair<_InIt1, _InIt2> mismatch(const _InIt1 _First1, const _InIt1 _Last1, const _InIt2 _First2)template<class _InIt1, class _InIt2>_NODISCARD inline pair<_InIt1, _In原创 2021-12-11 13:47:59 · 753 阅读 · 0 评论 -
C++ STL算法for_each(13)
函数原型template<class _InIt, class _Fn> inline_Fn for_each(_InIt _First, _InIt _Last, _Fn _Func)参数_First、_Last:都为正向迭代器,其组合 [first, last) 用于指定范围;_Func:在容器的每个元素上调用的函数;#include <iostream>#include <algorithm>#include <fun..原创 2021-12-10 14:20:37 · 623 阅读 · 0 评论 -
C++ STL算法find_end(12)
函数原型//不带谓词template<class _FwdIt1,class _FwdIt2>_NODISCARD inline _FwdIt1 find_end(_FwdIt1 const _First1, const _FwdIt1 _Last1, const _FwdIt2 _First2, const _FwdIt2 _Last2)//带谓词template<class _FwdIt1, class _FwdIt2, class _Pr>_NODISC.原创 2021-12-10 09:36:58 · 539 阅读 · 0 评论 -
C++ STL算法search(11)
函数原型//无谓词//查找 [first1, last1) 范围内第一个 [first2, last2) 子序列template<class _FwdItHaystack,class _FwdItPat>_NODISCARD inline _FwdItHaystack search(const _FwdItHaystack _First1, const _FwdItHaystack _Last1, const _FwdItPat _First2, const _FwdItPat .原创 2021-12-09 15:15:09 · 1441 阅读 · 0 评论 -
C++ STL算法search_n(10)
函数原型//版本template<class _FwdIt, class _Diff, class _Ty, class _Pr> _NODISCARD inline _FwdIt search_n(_FwdIt _First, const _FwdIt _Last, const _Diff _Count_raw, const _Ty& _Val, _Pr _Pred)//带谓词版本template<class _FwdIt, class _Diff, c.原创 2021-12-08 15:22:29 · 352 阅读 · 0 评论 -
C++ STL算法adjacent_find(09)
函数原型//版本//查找 2 个连续相等的元素template<class _FwdIt>_NODISCARD inline _FwdIt adjacent_find(const _FwdIt _First, const _FwdIt _Last)//带谓词版本//查找 2 个连续满足 pred 规则的元素template<class _FwdIt, class _Pr>_NODISCARD inline _FwdIt adjacent_find(cons.原创 2021-12-08 10:21:10 · 227 阅读 · 0 评论 -
c++ STL算法none_of(08)
函数原型template<class _InIt, class _Pr>_NODISCARD inline bool none_of(_InIt _First, _InIt _Last, _Pr _Pred)区间[开始, 结束)中是否所有的元素都不满足_Pred,所有的元素都不满足条件返回true,否则返回false。参数_First,_Last输入迭代器输入到序列的初始和最终位置。使用的范围是[_First,_Last],它包含_First和_Last之间的所有元素,.原创 2021-12-07 15:38:36 · 217 阅读 · 0 评论 -
c++ STL算法any_of(07)
函数原型template<class _InIt, class _Pr>_NODISCARD inline bool any_of(_InIt _First, _InIt _Last, _Pr _Pred)区间[开始, 结束)中是否至少有一个元素都满足_Pred,只要有一个元素满足条件就返回true,否则返回false。参数_First,_Last输入迭代器输入到序列的初始和最终位置。使用的范围是[_First,_Last],它包含_First和_Last之间的所有元素.原创 2021-12-07 14:42:07 · 305 阅读 · 0 评论 -
c++ STL算法all_of(06)
函数原型template<class _InIt, class _Pr>_NODISCARD inline bool all_of(_InIt _First, _InIt _Last, _Pr _Pred)区间[开始, 结束)中是否所有的元素都满足_Pred,所有的元素都满足返回true,否则返回false参数_First,_Last输入迭代器输入到序列的初始和最终位置。使用的范围是[_First,_Last],它包含_First和_Last之间的所有元素,包括fir..原创 2021-12-07 14:19:34 · 314 阅读 · 0 评论 -
c++ STL算法count_if(05)
函数原型template<class _InIt, class _Pr>_NODISCARD inline _Iter_diff_t<_InIt> count_if(_InIt _First, _InIt _Last, _Pr _Pred)count_if可以统计容器中满足特定条件的元素的个数。参数_First,_Last 输入迭代器输入到序列的初始和最终位置。使用的范围是[_First,_Last],它包含_First和_Last之间的所...原创 2021-12-07 09:29:27 · 631 阅读 · 0 评论