algorithm (STL/CLR)

定义执行算法的 STL/CLR 容器函数模版。

语法

#include <cliext/algorithm>

要求

标头:<cliext/algorithm>

命名空间:cliext

声明

Function 说明
adjacent_find (STL/CLR) 搜索两个相等的相邻元素。
binary_search (STL/CLR) 测试排序序列是否包含给定值。
copy (STL/CLR) 将值从源范围复制到目标范围,向前进行迭代。
copy_backward (STL/CLR) 将值从源范围复制到目标范围,向后进行迭代。
count (STL/CLR) 返回范围中其值与指定值匹配的元素的数量。
count_if (STL/CLR) 返回范围中其值与指定条件匹配的元素的数量。
equal (STL/CLR) 逐个元素比较两个范围。
equal_range (STL/CLR) 搜索值的有序序列,并返回两个位置,这些位置分隔所有等于给定元素的值的子序列。
fill (STL/CLR) 将相同的新值分配给指定范围中的每个元素。
fill_n (STL/CLR) 将新值分配给以特定元素开始的范围中指定数量的元素。
find (STL/CLR) 返回指定值首次出现的位置。
find_end (STL/CLR) 返回与指定序列相同的范围内的最后一个子序列。
find_first_of (STL/CLR) 在某一范围中搜索给定元素范围中任一元素的首次出现。
find_if (STL/CLR) 返回元素满足指定条件的值序列中首个元素的位置。
for_each (STL/CLR) 将指定的函数对象应用于值序列中的每个元素并返回函数对象。
generate (STL/CLR) 将函数对象生成的值分配给值序列中的每个元素。
generate_n (STL/CLR) 将函数对象生成的值分配给指定数量的元素。
includes (STL/CLR) 测试一个排序范围是否包含第二个排序范围中的所有元素。
inplace_merge (STL/CLR) 将两个连续排序范围中的元素合并为单个排序范围。
iter_swap (STL/CLR) 交换由一对指定迭代器引用的两个值。
lexicographical_compare (STL/CLR) 逐个元素比较两个序列,确定两者中较小的那个序列。
lower_bound (STL/CLR) 在排序的值序列中查找值大于或等于指定值的首个元素的位置。
make_heap (STL/CLR) 将指定范围中的元素转换为堆,其中堆上的第一个元素最大。
max (STL/CLR)) 比较两个对象并返回两者中较大的一个。
max_element (STL/CLR) 查找指定值序列中的最大元素。
merge (STL/CLR)) 将两个排序的源范围中的所有元素合并为单个排序的目标范围。
min (STL/CLR) 比较两个对象并返回两者中较小的一个。
min_element (STL/CLR) 查找指定值序列中的最小元素。
mismatch (STL/CLR) 逐个元素比较两个范围,并返回出现不同项的首个位置。
next_permutation (STL/CLR) 重新排序范围中的元素,以便使用按字典顺序的下一个更大排列(如果存在)替换原有排序。
nth_element (STL/CLR) 对元素序列进行分区,正确找到序列的第 n 个元素,使它前面的所有元素都小于或等于它,而它后面的所有元素都大于或等于它。
partial_sort (STL/CLR) 将范围中指定数量的较小元素按非降序顺序排列。
partial_sort_copy (STL/CLR) 将源范围中的元素复制到目标范围,以便对源范围中的元素进行排序。
partition (STL/CLR) 排列范围中的元素,使那些满足一元谓词的元素排在不满足一元谓词的元素之前。
pop_heap (STL/CLR) 将最大的元素从堆的前面移动到末尾,然后从剩余的元素中形成一个新的堆。
prev_permutation (STL/CLR) 重新排序范围中的元素,以便使用按字典顺序的前一个更大排列(如果存在)替换原有排序。
push_heap (STL/CLR) 将范围末尾的元素添加到包括范围中前面元素的现有堆中。
random_shuffle (STL/CLR) 将范围中 N 个元素的序列重新排序为随机选择的 N! 个 可能排列之一。
remove (STL/CLR) 从给定范围中删除指定值,而不影响剩余元素的顺序,并返回不包含指定值的新范围的末尾。
remove_copy (STL/CLR) 将源范围中的元素复制到目标范围(不复制具有指定值的元素),而不影响剩余元素的顺序。
remove_copy_if (STL/CLR) 将源范围中的元素复制到目标范围(不复制满足谓词的元素),而不影响其余元素的顺序。
remove_if (STL/CLR) 从给定范围中删除满足谓词的元素,而不影响剩余元素的顺序。 。
replace (STL/CLR) 将范围中与指定值匹配的元素替换为新值。
replace_copy (STL/CLR) 将源范围中的元素复制到目标范围,将与指定值匹配的元素替换为新值。
replace_copy_if (STL/CLR) 检查源范围中的每个元素,并替换满足指定谓词的元素,同时将结果复制到新的目标范围。
replace_if (STL/CLR) 检查范围中的每个元素,并替换满足指定谓词的元素。
reverse (STL/CLR) 反转范围中元素的顺序。
reverse_copy (STL/CLR) 反转源范围中元素的顺序,同时将这些元素复制到目标范围。
rotate (STL/CLR) 交换两个相邻范围中的元素。
rotate_copy (STL/CLR) 交换源范围中两个相邻范围内的元素,并将结果复制到目标范围。
search (STL/CLR) 在目标范围中搜索其元素与给定序列中的元素相等或在二元谓词指定的意义上等效于给定序列中的元素的序列的第一个匹配项。
search_n (STL/CLR) 在范围中搜索具有特定值或按二元谓词的指定与此值相关的指定数量的元素。
set_difference (STL/CLR) 将属于一个排序的源范围、但不属于另一排序的源范围的所有元素相并到一个排序的目标范围,其中排序条件可通过二元谓词指定。
set_intersection (STL/CLR) 将属于两个排序的源范围的所有元素相并为一个排序的目标范围,其中排序条件可通过二元谓词指定。
set_symmetric_difference (STL/CLR) 将属于一个而不是两个排序的源范围的所有元素相并为一个排序的目标范围,其中排序条件可通过二元谓词指定。
set_union (STL/CLR)) 将至少属于两个排序的源范围之一的所有元素相并为一个排序的目标范围,其中排序条件可通过二元谓词指定。
sort (STL/CLR) 将指定范围中的元素按非降序顺序排列,或根据二元谓词指定的排序条件排列。
sort_heap (STL/CLR) 将堆转换为排序的范围。
stable_partition (STL/CLR) 将范围中的元素分为两个不相交的集,满足一元谓词的元素在不满足一元谓词的元素之前,并保留等效元素的相对顺序。
stable_sort (STL/CLR) 将指定范围中的元素按非降序顺序排列,或根据二元谓词指定的排序条件排列,并保留等效元素的相对顺序。
swap (STL/CLR) 在两种类型的对象之间交换元素值,将第一个对象的内容分配给第二个对象,将第二个对象的内容分配给第一个对象。
swap_ranges (STL/CLR) 将一个范围中的元素与另一大小相等的范围中的元素交换。
transform (STL/CLR) 将指定的函数对象应用于源范围中的每个元素或两个源范围中的元素对,并将函数对象的返回值复制到目标范围。
unique (STL/CLR) 移除指定范围中彼此相邻的重复元素。
unique_copy (STL/CLR) 将源范围中的元素复制到目标范围,彼此相邻的重复元素除外。
upper_bound (STL/CLR) 在排序的范围中查找其值大于指定值的第一个元素的位置,其中排序条件可通过二元谓词指定。

成员

adjacent_find (STL/CLR)

搜索相等或满足指定条件的两个相邻元素。

语法

template<class _FwdIt> inline
    _FwdIt adjacent_find(_FwdIt _First, _FwdIt _Last);
template<class _FwdIt, class _Pr> inline
    _FwdIt adjacent_find(_FwdIt _First, _FwdIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 adjacent_find 相同。 有关详细信息,请参阅 adjacent_find

测试已排序的范围中是否有等于指定值的元素,或在二元谓词指定的意义上与指定值等效的元素。

语法

template<class _FwdIt, class _Ty> inline
    bool binary_search(_FwdIt _First, _FwdIt _Last, const _Ty% _Val);
template<class _FwdIt, class _Ty, class _Pr> inline
    bool binary_search(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Val, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 binary_search 相同。 有关详细信息,请参阅 binary_search

copy (STL/CLR)

将一个源范围中的元素值分配到目标范围,循环访问元素的源序列并将它们分配在一个向前方向的新位置。

语法

template<class _InIt, class _OutIt> inline
    _OutIt copy(_InIt _First, _InIt _Last, _OutIt _Dest);

备注

此函数的行为与 C++ 标准库函数 copy 相同。 有关详细信息,请参阅 copy

copy_backward (STL/CLR)

将一个源范围中的元素值分配到目标范围,循环访问元素的源序列并将它们分配在一个向后方向的新位置。

语法

template<class _BidIt1, class _BidIt2> inline
    _BidIt2 copy_backward(_BidIt1 _First, _BidIt1 _Last,
        _BidIt2 _Dest);

备注

此函数的行为与 C++ 标准库函数 copy_backward 相同。 有关详细信息,请参阅 copy_backward

count (STL/CLR)

返回范围中其值与指定值匹配的元素的数量。

语法

template<class _InIt, class _Ty> inline
    typename iterator_traits<_InIt>::difference_type
        count(_InIt _First, _InIt _Last, const _Ty% _Val);

备注

此函数的行为与 C++ 标准库函数 count 相同。 有关详细信息,请参阅 count

count_if (STL/CLR)

返回范围中其值与指定条件匹配的元素的数量。

语法

template<class _InIt, class _Pr> inline
    typename iterator_traits<_InIt>::difference_type
        count_if(_InIt _First, _InIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 count_if 相同。 有关详细信息,请参阅 count_if

equal (STL/CLR)

逐个元素比较两个范围是否相等或是否在二元谓词指定的意义上等效。

语法

template<class _InIt1, class _InIt2> inline
    bool equal(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2);
template<class _InIt1, class _InIt2, class _Pr> inline
    bool equal(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2,
        _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 equal 相同。 有关详细信息,请参阅 equal

equal_range (STL/CLR)

在排序的范围中查找符合以下条件的位置对:第一个位置小于或等效于指定元素的位置,第二个位置大于此元素位置,等效意义或用于在序列中建立位置的排序可通过二元谓词指定。

语法

template<class _FwdIt, class _Ty> inline
    _PAIR_TYPE(_FwdIt) equal_range(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Val);
template<class _FwdIt, class _Ty, class _Pr> inline
    _PAIR_TYPE(_FwdIt) equal_range(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Val, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 equal_range 相同。 有关详细信息,请参阅 equal_range

fill (STL/CLR)

将相同的新值分配给指定范围中的每个元素。

语法

template<class _FwdIt, class _Ty> inline
    void fill(_FwdIt _First, _FwdIt _Last, const _Ty% _Val);

备注

此函数的行为与 C++ 标准库函数 fill 相同。 有关详细信息,请参阅 fill

fill_n (STL/CLR)

将新值分配给以特定元素开始的范围中指定数量的元素。

语法

template<class _OutIt, class _Diff, class _Ty> inline
    void fill_n(_OutIt _First, _Diff _Count, const _Ty% _Val);

备注

此函数的行为与 C++ 标准库函数 fill_n 相同。 有关详细信息,请参阅 fill_n

find (STL/CLR)

在范围中找到具有指定值的元素的第一个匹配项位置。

语法

template<class _InIt, class _Ty> inline
    _InIt find(_InIt _First, _InIt _Last, const _Ty% _Val);

备注

此函数的行为与 C++ 标准库函数 find 相同。 有关详细信息,请参阅 find

find_end (STL/CLR)

在范围中查找与指定序列相同的最后一个序列,或在二元谓词指定的意义上等效的最后一个序列。

语法

template<class _FwdIt1, class _FwdIt2> inline
    _FwdIt1 find_end(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2);
template<class _FwdIt1, class _FwdIt2, class _Pr> inline
    _FwdIt1 find_end(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 find_end 相同。 有关详细信息,请参阅 find_end

find_first_of (STL/CLR)

在目标范围中搜索若干值中任意值的第一个匹配项,或搜索在二元谓词指定的意义上等效于指定元素集的若干元素中任意元素的第一个匹配项。

语法

template<class _FwdIt1, class _FwdIt2> inline
    _FwdIt1 find_first_of(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2);
template<class _FwdIt1, class _FwdIt2, class _Pr> inline
    _FwdIt1 find_first_of(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 find_first_of 相同。 有关详细信息,请参阅 find_first_of

find_if (STL/CLR)

在范围中找到满足指定条件的元素的第一个匹配项位置。

语法

template<class _InIt, class _Pr> inline
    _InIt find_if(_InIt _First, _InIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 find_if 相同。 有关详细信息,请参阅 find_if

for_each (STL/CLR)

将指定的函数对象按向前顺序应用于范围中的每个元素并返回此函数对象。

语法

template<class _InIt, class _Fn1> inline
    _Fn1 for_each(_InIt _First, _InIt _Last, _Fn1 _Func);

备注

此函数的行为与 C++ 标准库函数 for_each 相同。 有关详细信息,请参阅 for_each

generate (STL/CLR)

将函数对象生成的值分配给范围中的每个元素。

语法

template<class _FwdIt, class _Fn0> inline
    void generate(_FwdIt _First, _FwdIt _Last, _Fn0 _Func);

备注

此函数的行为与 C++ 标准库函数 generate 相同。 有关详细信息,请参阅 generate

generate_n (STL/CLR)

将函数对象生成的值分配给范围中指定数量的元素,并返回到超出最后一个分配值的下一位置。

语法

template<class _OutIt, class _Diff, class _Fn0> inline
    void generate_n(_OutIt _Dest, _Diff _Count, _Fn0 _Func);

备注

此函数的行为与 C++ 标准库函数 generate_n 相同。 有关详细信息,请参阅 generate_n

includes (STL/CLR)

测试一个排序的范围是否包含另一排序范围中的所有元素,其中元素之间的排序或等效条件可通过二元谓词指定。

语法

template<class _InIt1, class _InIt2> inline
    bool includes(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2);
template<class _InIt1, class _InIt2, class _Pr> inline
    bool includes(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 includes 相同。 有关详细信息,请参阅 includes

inplace_merge (STL/CLR)

将两个连续的排序范围中的元素合并为一个排序范围,其中排序条件可通过二元谓词指定。

语法

template<class _BidIt> inline
    void inplace_merge(_BidIt _First, _BidIt _Mid, _BidIt _Last);
template<class _BidIt, class _Pr> inline
    void inplace_merge(_BidIt _First, _BidIt _Mid, _BidIt _Last,
        _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 inplace_merge 相同。有关详细信息,请参阅 inplace_merge

iter_swap (STL/CLR)

交换由一对指定迭代器引用的两个值。

语法

template<class _FwdIt1, class _FwdIt2> inline
    void iter_swap(_FwdIt1 _Left, _FwdIt2 _Right);

备注

此函数的行为与 C++ 标准库函数 iter_swap 相同。 有关详细信息,请参阅 iter_swap

lexicographical_compare (STL/CLR)

逐个元素比较两个序列以确定其中的较小序列。

语法

template<class _InIt1, class _InIt2> inline
    bool lexicographical_compare(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2);
template<class _InIt1, class _InIt2, class _Pr> inline
    bool lexicographical_compare(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 lexicographical_compare 相同。 有关详细信息,请参阅 lexicographical_compare

lower_bound (STL/CLR)

在排序的范围中查找值小于或等效于指定值的第一个元素的位置,其中排序条件可通过二元谓词指定。

语法

template<class _FwdIt, class _Ty> inline
    _FwdIt lower_bound(_FwdIt _First, _FwdIt _Last, const _Ty% _Val);
template<class _FwdIt, class _Ty, class _Pr> inline
    _FwdIt lower_bound(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Val, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 lower_bound 相同。 有关详细信息,请参阅 lower_bound

make_heap (STL/CLR)

将指定范围中的元素转换到第一个元素是最大元素的堆中,其中排序条件可通过二元谓词指定。

语法

template<class _RanIt> inline
    void make_heap(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void make_heap(_RanIt _First, _RanIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 make_heap 相同。 有关详细信息,请参阅 make_heap

max (STL/CLR)

比较两个对象并返回较大对象,其中排序条件可通过二元谓词指定。

语法

template<class _Ty> inline
    const _Ty max(const _Ty% _Left, const _Ty% _Right);
template<class _Ty, class _Pr> inline
    const _Ty max(const _Ty% _Left, const _Ty% _Right, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 max 相同。 有关详细信息,请参阅 max

max_element (STL/CLR)

在指定范围中查找最大元素的第一个匹配项,其中排序条件可通过二元谓词指定。

语法

template<class _FwdIt> inline
    _FwdIt max_element(_FwdIt _First, _FwdIt _Last);
template<class _FwdIt, class _Pr> inline
    _FwdIt max_element(_FwdIt _First, _FwdIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 max_element 相同。 有关详细信息,请参阅 max_element

merge (STL/CLR)

将两个排序的源范围中的所有元素合并为一个排序的目标范围,其中排序条件可通过二元谓词指定。

语法

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
    _OutIt merge(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 merge 相同。 有关详细信息,请参阅 merge

min (STL/CLR)

比较两个对象并返回较小对象,其中排序条件可通过二元谓词指定。

语法

template<class _Ty> inline
    const _Ty min(const _Ty% _Left, const _Ty% _Right);
template<class _Ty, class _Pr> inline
    const _Ty min(const _Ty% _Left, const _Ty% _Right, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 min 相同。 有关详细信息,请参阅 min

min_element (STL/CLR)

在指定范围中查找最小元素的第一个匹配项,其中排序条件可通过二元谓词指定。

语法

template<class _FwdIt> inline
    _FwdIt min_element(_FwdIt _First, _FwdIt _Last);
template<class _FwdIt, class _Pr> inline
    _FwdIt min_element(_FwdIt _First, _FwdIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 min_element 相同。 有关详细信息,请参阅 min_element

mismatch (STL/CLR)

逐个元素比较两个范围是否相等或是否在二元谓词指定的意义上等效,并找到出现不同的第一个位置。

语法

template<class _InIt1, class _InIt2> inline
    _PAIR_TYPE(_InIt1)
        mismatch(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2);
template<class _InIt1, class _InIt2, class _Pr> inline
    _PAIR_TYPE(_InIt1)
        mismatch(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2,
            _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 mismatch 相同。 有关详细信息,请参阅 mismatch

next_permutation (STL/CLR)

重新排序范围中的元素,以便使用按字典顺序的下一个更大排列(如果有)替换原有排序,其中“下一个”的意义可通过二元谓词指定。

语法

template<class _BidIt> inline
    bool next_permutation(_BidIt _First, _BidIt _Last);
template<class _BidIt, class _Pr> inline
    bool next_permutation(_BidIt _First, _BidIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 next_permutation 相同。 有关详细信息,请参阅 next_permutation

nth_element (STL/CLR)

对范围内的元素分区,正确找到范围中序列的第 n 个元素,以使序列中位于此元素之前的所有元素小于或等于此元素,位于此元素之后的所有元素大于或等于此元素。

语法

template<class _RanIt> inline
    void nth_element(_RanIt _First, _RanIt _Nth, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void nth_element(_RanIt _First, _RanIt _Nth, _RanIt _Last,
        _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 nth_element 相同。 有关详细信息,请参阅 nth_element

partial_sort (STL/CLR)

将范围中指定数量的较小元素按非降序顺序排列,或根据二元谓词指定的排序条件排列。

语法

template<class _RanIt> inline
    void partial_sort(_RanIt _First, _RanIt _Mid, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void partial_sort(_RanIt _First, _RanIt _Mid, _RanIt _Last,
        _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 partial_sort 相同。 有关详细信息,请参阅 partial_sort

partial_sort_copy (STL/CLR)

将源范围中的元素复制到目标范围,其中源元素按降序或二元谓词指定的其他顺序排序。

语法

template<class _InIt, class _RanIt> inline
    _RanIt partial_sort_copy(_InIt _First1, _InIt _Last1,
        _RanIt _First2, _RanIt _Last2);
template<class _InIt, class _RanIt, class _Pr> inline
    _RanIt partial_sort_copy(_InIt _First1, _InIt _Last1,
        _RanIt _First2, _RanIt _Last2, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 partial_sort_copy 相同。 有关详细信息,请参阅 partial_sort_copy

partition (STL/CLR)

将范围中的元素分为两个不相交的集,满足一元谓词的元素在不满足一元谓词的元素之前。

语法

template<class _BidIt, class _Pr> inline
    _BidIt partition(_BidIt _First, _BidIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 partition 相同。 有关详细信息,请参阅 partition

pop_heap (STL/CLR)

移除从堆顶到范围中倒数第二个位置之间的最大元素,然后将剩余元素形成新堆。

语法

template<class _RanIt> inline
    void pop_heap(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void pop_heap(_RanIt _First, _RanIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 pop_heap 相同。 有关详细信息,请参阅 pop_heap

prev_permutation (STL/CLR)

重新排序范围中的元素,以便使用按字典顺序的下一个更大排列(如果有)替换原有排序,其中“下一个”的意义可通过二元谓词指定。

语法

template<class _BidIt> inline
    bool prev_permutation(_BidIt _First, _BidIt _Last);
template<class _BidIt, class _Pr> inline
    bool prev_permutation(_BidIt _First, _BidIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 prev_permutation 相同。 有关详细信息,请参阅 prev_permutation

push_heap (STL/CLR)

将范围末尾的元素添加到包括范围中前面元素的现有堆中。

语法

template<class _RanIt> inline
    void push_heap(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void push_heap(_RanIt _First, _RanIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 push_heap 相同。 有关详细信息,请参阅 push_heap

random_shuffle (STL/CLR)

将范围中 N 个元素的序列重新排序为随机选择的 N! 个 可能排列之一。

语法

template<class _RanIt> inline
    void random_shuffle(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Fn1> inline
    void random_shuffle(_RanIt _First, _RanIt _Last, _Fn1% _Func);

备注

此函数的行为与 C++ 标准库函数 random_shuffle 相同。 有关详细信息,请参阅 random_shuffle

remove (STL/CLR)

从给定范围中消除指定值,而不影响剩余元素的顺序,并返回不包含指定值的新范围的末尾。

语法

template<class _FwdIt, class _Ty> inline
    _FwdIt remove(_FwdIt _First, _FwdIt _Last, const _Ty% _Val);

备注

此函数的行为与 C++ 标准库函数 remove 相同。 有关详细信息,请参阅 remove

remove_copy (STL/CLR)

将源范围中的元素复制到目标范围(不复制具有指定值的元素),而不影响剩余元素的顺序,并返回新目标范围的末尾。

语法

template<class _InIt, class _OutIt, class _Ty> inline
    _OutIt remove_copy(_InIt _First, _InIt _Last,
        _OutIt _Dest, const _Ty% _Val);

备注

此函数的行为与 C++ 标准库函数 remove_copy 相同。 有关详细信息,请参阅 remove_copy

remove_copy_if (STL/CLR)

将源范围中的元素复制到目标范围(不复制满足谓词的元素),而不影响剩余元素的顺序,并返回新目标范围的末尾。

语法

template<class _InIt, class _OutIt, class _Pr> inline
    _OutIt remove_copy_if(_InIt _First, _InIt _Last, _OutIt _Dest,
        _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 remove_copy_if 相同。 有关详细信息,请参阅 remove_copy_if

remove_if (STL/CLR)

从给定范围中消除满足谓词的元素,而不影响剩余元素的顺序,并返回不包含指定值的新范围的末尾。

语法

template<class _FwdIt, class _Pr> inline
    _FwdIt remove_if(_FwdIt _First, _FwdIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 remove_if 相同。 有关详细信息,请参阅 remove_if

replace (STL/CLR)

检查范围中的每个元素,并替换与指定值匹配的元素。

语法

template<class _FwdIt, class _Ty> inline
    void replace(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Oldval, const _Ty% _Newval);

备注

此函数的行为与 C++ 标准库函数 replace 相同。 有关详细信息,请参阅 replace

replace_copy (STL/CLR)

检查源范围中的每个元素,并替换与指定值匹配的元素,同时将结果复制到新的目标范围。

语法

template<class _InIt, class _OutIt, class _Ty> inline
    _OutIt replace_copy(_InIt _First, _InIt _Last, _OutIt _Dest,
        const _Ty% _Oldval, const _Ty% _Newval);

备注

此函数的行为与 C++ 标准库函数 replace_copy 相同。 有关详细信息,请参阅 replace_copy

replace_copy_if (STL/CLR)

检查源范围中的每个元素,并替换满足指定谓词的元素,同时将结果复制到新的目标范围。

语法

template<class _InIt, class _OutIt, class _Pr, class _Ty> inline
    _OutIt replace_copy_if(_InIt _First, _InIt _Last, _OutIt _Dest,
        _Pr _Pred, const _Ty% _Val);

备注

此函数的行为与 C++ 标准库函数 replace_copy_if 相同。 有关详细信息,请参阅 replace_copy_if

replace_if (STL/CLR)

检查范围中的每个元素,并替换满足指定谓词的元素。

语法

template<class _FwdIt, class _Pr, class _Ty> inline
    void replace_if(_FwdIt _First, _FwdIt _Last, _Pr _Pred,
        const _Ty% _Val);

备注

此函数的行为与 C++ 标准库函数 replace_if 相同。 有关详细信息,请参阅 replace_if

reverse (STL/CLR)

反转范围中元素的顺序。

语法

template<class _BidIt> inline
    void reverse(_BidIt _First, _BidIt _Last);

备注

此函数的行为与 C++ 标准库函数 reverse 相同。 有关详细信息,请参阅 reverse

reverse_copy (STL/CLR)

反转源范围中元素的顺序,同时将这些元素复制到目标范围。

语法

template<class _BidIt, class _OutIt> inline
    _OutIt reverse_copy(_BidIt _First, _BidIt _Last, _OutIt _Dest);

备注

此函数的行为与 C++ 标准库函数 reverse_copy 相同。 有关详细信息,请参阅 reverse_copy

rotate (STL/CLR)

交换两个相邻范围中的元素。

语法

template<class _FwdIt> inline
    void rotate(_FwdIt _First, _FwdIt _Mid, _FwdIt _Last);

备注

此函数的行为与 C++ 标准库函数 rotate 相同。 有关详细信息,请参阅 rotate

rotate_copy (STL/CLR)

交换源范围中两个相邻范围内的元素,并将结果复制到目标范围。

语法

template<class _FwdIt, class _OutIt> inline
    _OutIt rotate_copy(_FwdIt _First, _FwdIt _Mid, _FwdIt _Last,
        _OutIt _Dest);

备注

此函数的行为与 C++ 标准库函数 rotate_copy 相同。 有关详细信息,请参阅 rotate_copy

search (STL/CLR)

在目标范围中搜索其元素与给定序列中的元素相等或在二元谓词指定的意义上等效于给定序列中的元素的序列的第一个匹配项。

语法

template<class _FwdIt1, class _FwdIt2> inline
    _FwdIt1 search(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2);
template<class _FwdIt1, class _FwdIt2, class _Pr> inline
    _FwdIt1 search(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2, _FwdIt2 _Last2, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 search 相同。 有关详细信息,请参阅 search

search_n (STL/CLR)

在范围中搜索具有特定值或按二元谓词的指定与此值相关的指定数量的元素。

语法

template<class _FwdIt1, class _Diff2, class _Ty> inline
    _FwdIt1 search_n(_FwdIt1 _First1, _FwdIt1 _Last1,
        _Diff2 _Count, const _Ty& _Val);
template<class _FwdIt1, class _Diff2, class _Ty, class _Pr> inline
    _FwdIt1 search_n(_FwdIt1 _First1, _FwdIt1 _Last1,
        _Diff2 _Count, const _Ty& _Val, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 search_n 相同。 有关详细信息,请参阅 search_n

set_difference (STL/CLR)

将属于一个排序的源范围、但不属于另一排序的源范围的所有元素相并到一个排序的目标范围,其中排序条件可通过二元谓词指定。

语法

template<class _InIt1, class _InIt2, class _OutIt> inline
    _OutIt set_difference(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2,_OutIt _Dest);
template<class _InIt1, class _InIt2, class _OutIt, class _Pr> inline
    _OutIt set_difference(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 set_difference 相同。 有关详细信息,请参阅 set_difference

set_intersection (STL/CLR)

将属于两个排序的源范围的所有元素相并为一个排序的目标范围,其中排序条件可通过二元谓词指定。

语法

template<class _InIt1, class _InIt2, class _OutIt> inline
    _OutIt set_intersection(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest);
template<class _InIt1, class _InIt2, class _OutIt, class _Pr> inline
    _OutIt set_intersection(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 set_intersection 相同。 有关详细信息,请参阅 set_intersection

set_symmetric_difference (STL/CLR)

将属于一个而不是两个排序的源范围的所有元素相并为一个排序的目标范围,其中排序条件可通过二元谓词指定。

语法

template<class _InIt1, class _InIt2, class _OutIt> inline
    _OutIt set_symmetric_difference(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest);
template<class _InIt1, class _InIt2, class _OutIt, class _Pr> inline
    _OutIt set_symmetric_difference(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 set_symmetric_difference 相同。 有关详细信息,请参阅 set_symmetric_difference

set_union (STL/CLR)

将至少属于两个排序的源范围之一的所有元素相并为一个排序的目标范围,其中排序条件可通过二元谓词指定。

语法

template<class _InIt1, class _InIt2, class _OutIt> inline
    _OutIt set_union(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest);
template<class _InIt1, class _InIt2, class _OutIt, class _Pr> inline
    _OutIt set_union(_InIt1 _First1, _InIt1 _Last1,
        _InIt2 _First2, _InIt2 _Last2, _OutIt _Dest, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 set_union 相同。 有关详细信息,请参阅 set_union

sort (STL/CLR)

将指定范围中的元素按非降序顺序排列,或根据二元谓词指定的排序条件排列。

语法

template<class _RanIt> inline
    void sort(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void sort(_RanIt _First, _RanIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 sort 相同。 有关详细信息,请参阅 sort

sort_heap (STL/CLR)

将堆转换为排序的范围。

语法

template<class _RanIt> inline
    void sort_heap(_RanIt _First, _RanIt _Last);
template<class _RanIt, class _Pr> inline
    void sort_heap(_RanIt _First, _RanIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 sort_heap 相同。 有关详细信息,请参阅 sort_heap

stable_partition (STL/CLR)

将范围中的元素分为两个不相交的集,满足一元谓词的元素在不满足一元谓词的元素之前,并保留等效元素的相对顺序。

语法

template<class _BidIt, class _Pr> inline
    _BidIt stable_partition(_BidIt _First, _BidIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 stable_partition 相同。 有关详细信息,请参阅 stable_partition

stable_sort (STL/CLR)

将指定范围中的元素按非降序顺序排列,或根据二元谓词指定的排序条件排列,并保留等效元素的相对顺序。

语法

template<class _BidIt> inline
    void stable_sort(_BidIt _First, _BidIt _Last);
template<class _BidIt, class _Pr> inline
    void stable_sort(_BidIt _First, _BidIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 stable_sort 相同。 有关详细信息,请参阅 stable_sort

swap (STL/CLR)

在两种类型的对象之间交换元素值,将第一个对象的内容分配给第二个对象,将第二个对象的内容分配给第一个对象。

语法

<class _Ty> inline
    void swap(_Ty% _Left, _Ty% _Right);

备注

此函数的行为与 C++ 标准库函数 swap 相同。 有关详细信息,请参阅 swap

swap_ranges (STL/CLR)

将一个范围中的元素与另一大小相等的范围中的元素交换。

语法

template<class _FwdIt1, class _FwdIt2> inline
    _FwdIt2 swap_ranges(_FwdIt1 _First1, _FwdIt1 _Last1,
        _FwdIt2 _First2);

备注

此函数的行为与 C++ 标准库函数 swap_ranges 相同。 有关详细信息,请参阅 swap_ranges

transform (STL/CLR)

将指定的函数对象应用于源范围中的每个元素或两个源范围中的元素对,并将函数对象的返回值复制到目标范围。

语法

template<class _InIt, class _OutIt, class _Fn1> inline
    _OutIt transform(_InIt _First, _InIt _Last, _OutIt _Dest,
        _Fn1 _Func);
template<class _InIt1, class _InIt2, class _OutIt, class _Fn2> inline
    _OutIt transform(_InIt1 _First1, _InIt1 _Last1, _InIt2 _First2,
        _OutIt _Dest, _Fn2 _Func);

备注

此函数的行为与 C++ 标准库函数 transform 相同。 有关详细信息,请参阅 transform

unique (STL/CLR)

移除指定范围中彼此相邻的重复元素。

语法

template<class _FwdIt> inline
    _FwdIt unique(_FwdIt _First, _FwdIt _Last);
template<class _FwdIt, class _Pr> inline
    _FwdIt unique(_FwdIt _First, _FwdIt _Last, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 unique 相同。 有关详细信息,请参阅 unique

unique_copy (STL/CLR)

将源范围中的元素复制到目标范围,彼此相邻的重复元素除外。

语法

template<class _InIt, class _OutIt> inline
    _OutIt unique_copy(_InIt _First, _InIt _Last, _OutIt _Dest);
template<class _InIt, class _OutIt, class _Pr> inline
    _OutIt unique_copy(_InIt _First, _InIt _Last, _OutIt _Dest,
        _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 unique_copy 相同。 有关详细信息,请参阅 unique_copy

upper_bound (STL/CLR)

在排序的范围中查找其值大于指定值的第一个元素的位置,其中排序条件可通过二元谓词指定。

语法

template<class _FwdIt, class _Ty> inline
    _FwdIt upper_bound(_FwdIt _First, _FwdIt _Last, const _Ty% _Val);
template<class _FwdIt, class _Ty, class _Pr> inline
    _FwdIt upper_bound(_FwdIt _First, _FwdIt _Last,
        const _Ty% _Val, _Pr _Pred);

备注

此函数的行为与 C++ 标准库函数 upper_bound 相同。 有关详细信息,请参阅 upper_bound