forward_list::merge

結合線形時間で一つの並べ替えられたシーケンスへの 2 回の並べ替えられたシーケンス。要素を引数リストから削除し、この forward_listに挿入されます。2 種類の一覧は、呼び出しの前に同じと比較します 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に挿入されます。シーケンスには、両方とも同じ次の述語に並べる必要があります。結合されたシーケンスは、その関数オブジェクトと比較しますが並べ替えられます。

位置 i と jで要素を指定する反復子 Pi と Pj に対して一つ目のメンバー関数は !(*Pj < *Pi) 順序をたびに i < j制限されます。(要素は ascending の順に並べ替えられます。) 2 番目のメンバー関数は、を !_Comp(*Pj, *Pi) たびに i < j制限されます。

ペアの元の被制御シーケンスの要素は、被制御シーケンスの反転されません。ペアの結果の被制御シーケンスの要素が等しい!(*Pi < *Pj) && !(*Pj < *Pi) () を比較する場合、元の被制御シーケンスの要素は _Rightによって制御されるシーケンスの要素の前に表示されます。

例外は _Comp が例外をスローした場合にのみ発生します。その場合は、被制御シーケンスが指定されていないことになり、例外がスローされます。

必要条件

ヘッダー: <forward_list>

名前空間: std

参照

関連項目

forward_list Class