STL sort排序

STL sort排序算法,C++ STL 标准库提供有很多实用的排序函数,通过调用它们,我们可以很轻松地实现对普通数组或者容器中指定范围内的元素进行排序。

STL stable_sort排序

STL stable_sort排序算法,C++ STL 中的 stable_sort() 函数完全可以看作是 sort() 函数在功能方面的升级版。换句话说,stable_sort() 和 sort() 具有相同的使用场景,就连语法格式也是相同的。

STL partial_sort排序

STL partial_sort排序算法,C++ STL 中的 partial_sort() 函数用于从指定区域中提取出部分数据,并对它们进行排序,但 “部分排序” 仅仅是对 partial_sort() 函数功能的一个概括。

STL partial_sort_copy排序

STL partial_sort_copy排序算法,C++ STL 中的 partial_sort_copy() 函数的功能和 partial_sort() 类似,唯一的区别在于,前者不会对原有数据做任何变动。

STL nth_element排序

STL nth_element排序算法,STL 中的 nth_element 函数是当采用默认的升序排序规则(std::less<T>)时,该函数可以从某个序列中找到第 n 小的元素 K,并将 K 移动到序列中第 n 的位置处。

STL is_sorted函数

STL is_sorted函数算法,在 STL 中,我们需要对一组数据进行排序之前,可以首先使用 is_sorted 函数对数据进行判断,判断其是否已经排序好了,如果没有排序好,再次进行排序。

STL is_sorted_until函数

STL is_sorted_until函数算法,在 STL 中,is_sorted_until 函数和 is_sorted() 函数相比,不仅能检测出某个序列是否有序,还会返回一个正向迭代器,该迭代器指向的是当前序列中第一个破坏有序状态的元素。

STL merge函数

STL merge函数算法,在 STL 中,merge 函数用于将两个有序集合合并为一个有序序列。前提是这 2 个有序序列的排序规则相同(要么都是升序,要么都是降序)。

STL inplace_merge函数

STL inplace_merge函数算法,在 STL 中,inplace_merge 函数用于将两个有序集合合并为一个有序序列。前提是这 2 个有序序列的排序规则相同(要么都是升序,要么都是降序)。

STL find函数

STL find函数算法,在 STL 中,find() 函数本质上是一个模板函数,用于在指定范围内查找和目标元素值相等的第一个元素。

STL find_if函数

STL find_if函数算法,在 STL 中,find_if() 函数和 find() 函数相同,find_if() 函数也用于在指定区域内执行查找操作。不同的是,前者需要明确指定要查找的元素的值,而后者则允许自定义查找规则。

STL find_if_not函数

STL find_if_not函数算法,在 STL 中,find_if_not() 函数和 find_if() 函数的功能恰好相反,find_if() 函数用于查找符合谓词函数规则的第一个元素,而 find_if_not() 函数则用于查找第一个不符合谓词函数规则的元素。

STL find_end函数

STL find_end函数算法,在 STL 中,find_end() 函数用于在集合中查找元素,find_end() 函数会返回一个正向迭代器,当函数查找成功时,该迭代器指向查找到的子序列中的第一个元素。

STL find_first_of函数

STL find_first_of函数算法,在 STL 中,find_first_of() 函数用于在 A 序列中查找和 B 序列中任意元素相匹配的第一个元素。

STL adjacent_find函数

STL adjacent_find函数算法,在 STL 中 adjacent_find() 函数用于在指定范围内查找 2 个连续相等的元素。

STL search函数

STL search函数算法,在 STL 中 search() 函数用于在一个序列中查找另一个序列第一次出现的位置。

STL search_n函数

STL search_n函数算法,在 STL 中 search_n() 函数用于在指定区域内查找第一个符合要求的子序列。

STL partition函数

STL partition函数算法,在 STL 中 partition() 函数用于根据用户自定义的筛选规则,重新排列指定区域内存储的数据,使其分为 2 组,第一组为符合筛选条件的数据,另一组为不符合筛选条件的数据。

STL stable_partition函数

STL stable_partition函数算法,在 STL 中 partition() 函数只负责对指定区域内的数据进行分组,并不保证各组中元素的相对位置不发生改变。

STL partition_copy函数

STL partition_copy函数算法,在 STL 中 partition_copy() 和 stable_partition() 一样也能按照某个筛选规则对指定区域内的数据进行 “分组”,并且分组后不会改变各个元素的相对位置。

STL partition_point函数

STL partition_point函数算法,在 STL 中 partition_point() 函数用于在已分好组的数据中找到分界位置,该函数会返回一个正向迭代器,该迭代器指向的是 [first, last] 范围内第一个不符合 pred 筛选规则的元素。

STL lower_bound函数

STL lower_bound函数算法,在 STL 中 lower_bound() 函数用于在指定区域内查找不小于目标值的第一个元素。也就是说,使用该函数在指定范围内查找某个目标值时。

STL upper_bound函数

STL upper_bound函数算法,在 STL 中 upper_bound() 函数用于在指定范围内查找大于目标值的第一个元素,该函数会返回一个正向迭代器,当查找成功时,迭代器指向找到的元素。

STL equal_range函数

STL equal_range函数算法,在 STL 中 equal_range() 函数用于在指定范围内查找等于目标值的所有元素。

STL binary_search函数

STL binary_search函数算法,在 STL 中 binary_search() 函数用于查找指定区域内是否包含某个目标元素。

STL all_of函数

STL all_of函数算法,在 STL 的 algorithm 头文件中定义了 3 种算法,用来检查在算法应用到序列中的元素上时,什么时候使谓词返回 true。

STL any_of函数

STL any_of函数算法,在 STL 的 algorithm 头文件中定义了 3 种算法,用来检查在算法应用到序列中的元素上时,什么时候使谓词返回 true。

STL none_of函数

STL none_of函数算法,在 STL 的 algorithm 头文件中定义了 3 种算法,用来检查在算法应用到序列中的元素上时,什么时候使谓词返回 true。

STL equal函数

STL equal函数算法,STL 中的 equal 函数用于比较两个序列,如果两个序列的长度相同,并且对应元素都相等,equal() 算法会返回 true。

STL mismatch函数

STL mismatch函数算法,STL 中的 equal() 算法可以告诉我们两个序列是否匹配。mismatch() 算法也可以告诉我们两个序列是否匹配,而且如果不匹配,它还能告诉我们不匹配的位置。

STL lexicographical_compare函数

STL lexicographical_compare函数算法,STL 中的 lexicographical_compare() 算法可以比较由开始和结束迭代器定义的两个序列。

STL next_permutation函数

STL next_permutation函数算法,STL 中的 next_permutation() 算法用于生成一个序列的重排列,它是所有可能的字典序中的下一个排列,默认使用 < 运算符来做这些事情。

STL prev_permutation函数

STL prev_permutation函数算法,STL 中的 prev_permutation() 算法用于生成一个序列的重排列,它是所有可能的字典序中的下一个排列,默认使用 > 运算符来做这些事情。

STL is_permutation函数

STL is_permutation函数算法,STL 中的 is_permutation() 算法可以用来检查一个序列是不是另一个序列的排列,如果是,会返回 true。

STL copy_n函数

STL copy_n函数算法,STL 中的 copy_n() 算法可以从源容器复制指定个数的元素到目的容器中。

STL copy_if函数

STL copy_if函数算法,STL 中的 copy_if() 算法可以从源序列复制使谓词返回 true 的元素,所以可以把它看作一个过滤器。

STL copy_backward函数

STL copy_backward函数算法,STL 中的 copy_backward() 会像 copy() 那样复制元素,但是从最后一个元素开始直到第一个元素。copy_backward() 会复制前两个迭代器参数指定的序列。

STL reverse_copy函数

STL reverse_copy函数算法,STL 中的 reverse_copy() 算法可以将源序列复制到目的序列中,目的序列中的元素是逆序的。定义源序列的前两个迭代器参数必须是双向迭代器。

STL unique函数

STL unique函数算法,STL 中的 unique() 算法可以可以在序列中原地移除重复的元素,这就要求被处理的序列必须是正向迭代器所指定的。

STL rotate函数

STL rotate函数算法,STL 中的 rotate() 函数是循环移位函数,该算法用于交换集合中的元素的位置。

STL rotate_copy函数

STL rotate_copy函数算法,STL 中的 rotate_copy() 函数将 rotate 后的序列存放到 result 开始的位置。

STL move函数

STL move函数算法,STL 中的 move() 函数将它的前两个输入迭代器参数指定的序列移到第三个参数定义的目的序列的开始位置,第三个参数必须是输出迭代器。

STL swap_ranges函数

STL swap_ranges函数算法,STL 中的 swap_ranges() 函数用于从 First2 开始的位置开始和 [First1,last1) 中的元素开始交换,返回值是交换后的第二个区间中元素的最后一个元素的迭代器对象。

STL remove函数

STL remove函数算法,STL 中的 remove() 函数用于从它的前两个正向迭代器参数指定的序列中移除和第三个参数相等的对象。基本上每个元素都是通过用它后面的元素覆盖它来实现移除的。

STL remove_copy函数

STL remove_copy函数算法,STL 中的 remove_copy() 函数用于将前两个正向迭代器参数指定的序列中的元素复制到第三个参数指定的目的序列中,并忽略和第 4 个参数相等的元素。

STL remove_if函数

STL remove_if函数算法,STL 中的 remove_if() 函数用于从前两个正向迭代器指定的序列中移除能够使作为第三个参数的谓词返回 true 的元素。

STL remove_copy_if函数

STL remove_copy_if函数算法,STL 中的 remove_copy_if() 函数用于将前两个正向迭代器参数指定的序列中,能够使作为第 4 个参数的谓词返回 true 的元素,复制到第三个参数指定的目的序列中。

STL fill函数

STL fill函数算法,STL 中的 fill() 函数用于为元素序列填入给定值的简单方式,fill() 会填充整个序列。

STL fill_n函数

STL fill_n函数算法,STL 中的 fill_n() 函数用于以给定的迭代器为起始位置,为指定个数的元素设置值。

STL generate函数

STL generate函数算法,STL 中的 generate() 函数用指定函数对象产生的值去给容器指定范围内元素赋值。而且 generate() 没有任何返回值。

STL generate_n函数

STL generate_n函数算法,STL 中的 generate_n() 函数是使用 generate 的返回值填充指定位置及之后的 n 个元素的函数。

STL transform函数

STL transform函数算法,STL 中的 transform() 函数用于转换元素,转换有两种:一元转换和二元转换。一元转换是对容器给定范围内的每个元素做某种一元运算后放在另一个容器里。

STL replace函数

STL replace函数算法,STL 中的 replace() 算法会用新的值来替换和给定值相匹配的元素。它的前两个参数是被处理序列的正向迭代器,第 3 个参数是被替换的值,第 4 个参数是新的值。

STL replace_if函数

STL replace_if函数算法,STL 中的 replace_if() 会将使谓词返回 true 的元素替换为新的值。它的第 3 个参数是一个谓词,第 4 个参数是新的值。参数的类型一般是元素类型的 const 引用;

STL replace_copy函数

STL replace_copy函数算法,STL 中的 replace_copy() 算法和 replace() 做的事是一样的,但它的结果会被保存到另一个序列中,而不会改变原始序列。

STL replace_copy_if函数

STL replace_copy_if函数算法,STL 中可以在序列中有选择地替换元素的最后一个算法是 replace_copy_if_if(),它和 replace_if() 算法是相同的,但它的结果会被保存到另一个序列中。