algorithm (STL/CLR)
定義執行演算法的 STL/CLR 容器函式範本。
語法
#include <cliext/algorithm>
需求
標頭:<cliext/algorithm>
命名空間: cliext
宣告
函式 | 描述 |
---|---|
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。
binary_search (STL/CLR)
測試已排序的範圍中是否有等於指定之值 (或在二元述詞指定的意義上,相當於該值) 的項目。
語法
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_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_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_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_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
式相同。 如需詳細資訊,請參閱 合併。
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
式相同。 如需詳細資訊,請參閱 不符。
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
式相同。 如需詳細資訊,請參閱 分割區。
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_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_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_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_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
式相同。 如需詳細資訊,請參閱 轉換。
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_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。