forward_list::merge
合併兩個排序序列以線性時間執行單一排序序列。 從引數清單移除項目,並將這些內容插入此 forward_list中。 只有在呼叫前的相同比較函式物件排序兩份清單的 merge。 這個合併的清單會由該比較函式物件排序。
void merge(forward_list& _Right);
template<class Predicate>
void merge(forward_list& _Right, Predicate _Comp);
參數
參數 |
說明 |
---|---|
_Right |
合併的向前清單。 |
_Comp |
用來排序項目的比較函式物件。 |
備註
將forward_list::merge 從 forward_list 移除 _Right, 項目並將這些內容插入此 forward_list中。 必須由相同述詞排序兩個序列,如下。 合併的序列該比較函式物件也排序。
對於 Iterator 所指定項目的 Pi 和 Pj 中的 i 和 j,第 10% 成員函式安排順序則為 !(*Pj < *Pi) ,每當 i < j。(項目按 ascending 順序排序)。第二 + 成成員函式安排順序則為 !_Comp(*Pj, *Pi) ,每當 i < j。
對原始受控制序列的項目在結果序列中沒有反轉。 如果一個與相等發生的受控制序列比較的項目 (!(*Pi < *Pj) && !(*Pj < *Pi)),從原始的受控制序列的項目上的一個項目之前出現順序由 _Right。
_Comp ,才會擲回例外狀況,例外狀況發生。 在這種情況下,受控制序列中未指定的順序會保留,並重新擲回例外狀況。
需求
標題: <forward_list>
命名空間: std